1<!doctype html> 2<html 3 4 lang="en" 5> 6 <head><link 7 rel="icon" 8 type="image/png" 9 href="//www.tnbl.co.uk/cdn/shop/files/TNBL_logo-cropped.svg?crop=center&height=32&v=1771858612&width=32" 10 > 11 12 <link 13 rel="expect" 14 href="#MainContent" 15 blocking="render" 16 id="view-transition-render-blocker" 17 > 18 19<meta charset="utf-8"> 20<meta 21 http-equiv="X-UA-Compatible" 22 content="IE=edge" 23> 24<meta 25 name="viewport" 26 content="width=device-width,initial-scale=1" 27> 28<meta 29 name="view-transition" 30 content="same-origin" 31> 32<meta 33 name="theme-color" 34 content="" 35> 36 37<meta 38 property="og:site_name" 39 content="TNBL UK" 40> 41 42 43<meta 44 property="og:url" 45 content="https://www.tnbl.co.uk/products/apres-nova-led-lamp-mini" 46> 47<meta 48 property="og:title" 49 content="APRES Nova LED Lamp Professional Nail Curing Light" 50> 51<meta 52 property="og:type" 53 content="product" 54> 55<meta 56 property="og:description" 57 content="Cure gels quickly with the APRES Nova LED Lamp. Sleek, powerful, and perfect for professional nail techs." 58><meta 59 property="og:image" 60 content="http://www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544" 61 > 62 <meta 63 property="og:image:secure_url" 64 content="https://www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544" 65 > 66 <meta 67 property="og:image:width" 68 content="2000" 69 > 70 <meta 71 property="og:image:height" 72 content="2000" 73 ><meta 74 property="og:price:amount" 75 content="99.95" 76 > 77 <meta 78 property="og:price:currency" 79 content="GBP" 80 ><meta 81 name="twitter:card" 82 content="summary_large_image" 83> 84<meta 85 name="twitter:title" 86 content="APRES Nova LED Lamp Professional Nail Curing Light" 87> 88<meta 89 name="twitter:description" 90 content="Cure gels quickly with the APRES Nova LED Lamp. Sleek, powerful, and perfect for professional nail techs." 91> 92 93<title> 94 APRES Nova LED Lamp Professional Nail Curing Light 95 – TNBL UK</title> 96 97<link 98 rel="canonical" 99 href="https://www.tnbl.co.uk/products/apres-nova-led-lamp-mini" 100> 101 102 103 <meta 104 name="description" 105 content="Cure gels quickly with the APRES Nova LED Lamp. Sleek, powerful, and perfect for professional nail techs." 106 > 107 108 109<meta name="msvalidate.01" content="C2A4C6063837382A28F407FD20D338C5" /> 110<meta name="google-site-verification" content="4aJ5bni32DHffvQQ58B2XxCcMEhkg4AfYADuYXK3mDg" /> 111<meta name="msvalidate.01" content="82CEF137C6BAC1728A470BB1779ECFE0" /><link href="//www.tnbl.co.uk/cdn/shop/t/6/assets/overflow-list.css?v=101911674359793798601774530324" as="style" rel="preload"> 112<link href="//www.tnbl.co.uk/cdn/shop/t/6/assets/base.css?v=42362885590071652391774530327" rel="stylesheet" type="text/css" media="all" /> 113 114<link 115 rel="preload" 116 as="font" 117 href="//www.tnbl.co.uk/cdn/fonts/mona_sans/monasans_n4.cc3f184f0be0174773c72c5502453af88810902e.woff2" 118 type="font/woff2" 119 crossorigin 120 fetchpriority="low" 121 ><link 122 rel="preload" 123 as="font" 124 href="//www.tnbl.co.uk/cdn/fonts/playfair_display/playfairdisplay_n7.592b3435e0fff3f50b26d410c73ae7ec893f6910.woff2" 125 type="font/woff2" 126 crossorigin 127 fetchpriority="low" 128 ><link 129 rel="preload" 130 as="font" 131 href="//www.tnbl.co.uk/cdn/fonts/playfair_display/playfairdisplay_n6.41e9dda2e7301ca861c0ec25a53c1bdf16b6624d.woff2" 132 type="font/woff2" 133 crossorigin 134 fetchpriority="low" 135 >
136<script async crossorigin fetchpriority="high" src="/cdn/shopifycloud/importmap-polyfill/es-modules-shim.2.4.0.js"></script>
vendor: 1 bytes, line 136
136
137<script type="importmap"> 138 { 139 "imports": { 140 "@theme/overflow-list": "//www.tnbl.co.uk/cdn/shop/t/6/assets/overflow-list.js?v=46858356770684902511774530325", 141 "@theme/product-title": "//www.tnbl.co.uk/cdn/shop/t/6/assets/product-title-truncation.js?v=81744426891537421781774530329", 142 "@theme/component": "//www.tnbl.co.uk/cdn/shop/t/6/assets/component.js?v=184240237101443119871774530330", 143 "@theme/dialog": "//www.tnbl.co.uk/cdn/shop/t/6/assets/dialog.js?v=61774032287387761671774530324", 144 "@theme/events": "//www.tnbl.co.uk/cdn/shop/t/6/assets/events.js?v=147926035229139604561774530327", 145 "@theme/focus": "//www.tnbl.co.uk/cdn/shop/t/6/assets/focus.js?v=60436577539430446401774530330", 146 "@theme/morph": "//www.tnbl.co.uk/cdn/shop/t/6/assets/morph.js?v=35457747882330740861774530324", 147 "@theme/paginated-list": "//www.tnbl.co.uk/cdn/shop/t/6/assets/paginated-list.js?v=95298315036233333871774530326", 148 "@theme/performance": "//www.tnbl.co.uk/cdn/shop/t/6/assets/performance.js?v=171015751390534793081774530327", 149 "@theme/product-form": "//www.tnbl.co.uk/cdn/shop/t/6/assets/product-form.js?v=146907120448681380161774530325", 150 "@theme/recently-viewed-products": "//www.tnbl.co.uk/cdn/shop/t/6/assets/recently-viewed-products.js?v=26214479841066411761774530326", 151 "@theme/scrolling": "//www.tnbl.co.uk/cdn/shop/t/6/assets/scrolling.js?v=118005526288211533611774530328", 152 "@theme/section-renderer": "//www.tnbl.co.uk/cdn/shop/t/6/assets/section-renderer.js?v=117273408521114569061774530324", 153 "@theme/section-hydration": "//www.tnbl.co.uk/cdn/shop/t/6/assets/section-hydration.js?v=177651605160027701221774530330", 154 "@theme/utilities": "//www.tnbl.co.uk/cdn/shop/t/6/assets/utilities.js?v=74252600229394689081774530329", 155 "@theme/variant-picker": "//www.tnbl.co.uk/cdn/shop/t/6/assets/variant-picker.js?v=135960636952703356951774530329", 156 "@theme/media-gallery": "//www.tnbl.co.uk/cdn/shop/t/6/assets/media-gallery.js?v=111441960308641931071774530329", 157 "@theme/quick-add": "//www.tnbl.co.uk/cdn/shop/t/6/assets/quick-add.js?v=92813402004259032011774530324", 158 "@theme/paginated-list-aspect-ratio": "//www.tnbl.co.uk/cdn/shop/t/6/assets/paginated-list-aspect-ratio.js?v=25254270272143792451774530326", 159 "@theme/popover-polyfill": "//www.tnbl.co.uk/cdn/shop/t/6/assets/popover-polyfill.js?v=119029313658895111201774530328", 160 "@theme/component-quantity-selector": "//www.tnbl.co.uk/cdn/shop/t/6/assets/component-quantity-selector.js?v=67906657287482036641774530329", 161 "@theme/comparison-slider": "//www.tnbl.co.uk/cdn/shop/t/6/assets/comparison-slider.js?v=106705562947035711941774530327", 162 "@theme/sticky-add-to-cart": "//www.tnbl.co.uk/cdn/shop/t/6/assets/sticky-add-to-cart.js?v=139436074259139393941774530326", 163 "@theme/fly-to-cart": "//www.tnbl.co.uk/cdn/shop/t/6/assets/fly-to-cart.js?v=129971753673458693881774530329" 164 } 165 } 166</script>
166 167
168<script 169 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/view-transitions.js?v=7106414069516106341774530324" 170 async 171 172 blocking="render" 173 174></script>
174 175
176<script> 177 window.dataLayer = window.dataLayer || []; 178 function gtag(){dataLayer.push(arguments);} 179 180 //Initialize GTM tag
vendor: 339 bytes, lines 180-185
180 181 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 182 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 183 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 184 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 185 })(window,document,'script','dataLayer', '
185GTM-M5JH7L5
vendor: 4 bytes, line 185
185');
186</script>
186 187 188 189<link 190 rel="modulepreload" 191 href="//www.tnbl.co.uk/cdn/shop/t/6/assets/utilities.js?v=74252600229394689081774530329" 192 fetchpriority="low" 193> 194<link 195 rel="modulepreload" 196 href="//www.tnbl.co.uk/cdn/shop/t/6/assets/component.js?v=184240237101443119871774530330" 197 fetchpriority="low" 198> 199<link 200 rel="modulepreload" 201 href="//www.tnbl.co.uk/cdn/shop/t/6/assets/section-renderer.js?v=117273408521114569061774530324" 202 fetchpriority="low" 203> 204<link 205 rel="modulepreload" 206 href="//www.tnbl.co.uk/cdn/shop/t/6/assets/section-hydration.js?v=177651605160027701221774530330" 207 fetchpriority="low" 208> 209<link 210 rel="modulepreload" 211 href="//www.tnbl.co.uk/cdn/shop/t/6/assets/morph.js?v=35457747882330740861774530324" 212 fetchpriority="low" 213> 214 215 216 217<link 218 rel="modulepreload" 219 href="//www.tnbl.co.uk/cdn/shop/t/6/assets/focus.js?v=60436577539430446401774530330" 220 fetchpriority="low" 221> 222<link 223 rel="modulepreload" 224 href="//www.tnbl.co.uk/cdn/shop/t/6/assets/recently-viewed-products.js?v=26214479841066411761774530326" 225 fetchpriority="low" 226> 227<link 228 rel="modulepreload" 229 href="//www.tnbl.co.uk/cdn/shop/t/6/assets/scrolling.js?v=118005526288211533611774530328" 230 fetchpriority="low" 231> 232<link 233 rel="modulepreload" 234 href="//www.tnbl.co.uk/cdn/shop/t/6/assets/events.js?v=147926035229139604561774530327" 235 fetchpriority="low" 236>
237<script 238 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/popover-polyfill.js?v=119029313658895111201774530328" 239 type="module" 240 fetchpriority="low" 241></script>
vendor: 1 bytes, line 241
241
242<script 243 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/overflow-list.js?v=46858356770684902511774530325" 244 type="module" 245 fetchpriority="low" 246></script>
vendor: 1 bytes, line 246
246
247<script 248 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/quick-add.js?v=92813402004259032011774530324" 249 type="module" 250 fetchpriority="low" 251></script>
251 252 253
253<script 254 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/cart-discount.js?v=107077853990124422021774530330" 255 type="module" 256 fetchpriority="low" 257 ></script>
257 258 259
260<script 261 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/dialog.js?v=61774032287387761671774530324" 262 type="module" 263 fetchpriority="low" 264></script>
vendor: 1 bytes, line 264
264
265<script 266 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/variant-picker.js?v=135960636952703356951774530329" 267 type="module" 268 fetchpriority="low" 269></script>
vendor: 1 bytes, line 269
269
270<script 271 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/product-card.js?v=124402285637860180781774530324" 272 type="module" 273 fetchpriority="low" 274></script>
vendor: 1 bytes, line 274
274
275<script 276 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/product-form.js?v=146907120448681380161774530325" 277 type="module" 278 fetchpriority="low" 279></script>
vendor: 1 bytes, line 279
279
280<script 281 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/fly-to-cart.js?v=129971753673458693881774530329" 282 type="module" 283 fetchpriority="low" 284></script>
vendor: 1 bytes, line 284
284
285<script 286 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/accordion-custom.js?v=99000499017714805851774530323" 287 type="module" 288 fetchpriority="low" 289></script>
vendor: 1 bytes, line 289
289
290<script 291 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/disclosure-custom.js?v=168050880623268140331774530325" 292 type="module" 293 fetchpriority="low" 294></script>
vendor: 1 bytes, line 294
294
295<script 296 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/media.js?v=37825095869491791421774530330" 297 type="module" 298 fetchpriority="low" 299></script>
vendor: 1 bytes, line 299
299
300<script 301 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/product-price.js?v=117989390664188536191774530327" 302 type="module" 303 fetchpriority="low" 304></script>
vendor: 1 bytes, line 304
304
305<script 306 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/product-sku.js?v=121804655373531320511774530328" 307 type="module" 308 fetchpriority="low" 309></script>
vendor: 1 bytes, line 309
309
310<script 311 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/product-title-truncation.js?v=81744426891537421781774530329" 312 type="module" 313 fetchpriority="low" 314></script>
vendor: 1 bytes, line 314
314
315<script 316 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/product-inventory.js?v=16343734458933704981774530326" 317 type="module" 318 fetchpriority="low" 319></script>
vendor: 1 bytes, line 319
319
320<script 321 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/show-more.js?v=94563802205717136101774530324" 322 type="module" 323 fetchpriority="low" 324></script>
vendor: 1 bytes, line 324
324
325<script 326 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/slideshow.js?v=697393657165964831774530325" 327 type="module" 328 fetchpriority="low" 329></script>
vendor: 1 bytes, line 329
329
330<script 331 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/layered-slideshow.js?v=30135417790894624731774530326" 332 type="module" 333 fetchpriority="low" 334></script>
vendor: 1 bytes, line 334
334
335<script 336 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/anchored-popover.js?v=95953304814728754461774530325" 337 type="module" 338 fetchpriority="low" 339></script>
vendor: 1 bytes, line 339
339
340<script 341 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/floating-panel.js?v=128677600744947036551774530328" 342 type="module" 343 fetchpriority="low" 344></script>
vendor: 1 bytes, line 344
344
345<script 346 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/video-background.js?v=25237992823806706551774530330" 347 type="module" 348 fetchpriority="low" 349></script>
vendor: 1 bytes, line 349
349
350<script 351 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/component-quantity-selector.js?v=67906657287482036641774530329" 352 type="module" 353 fetchpriority="low" 354></script>
vendor: 1 bytes, line 354
354
355<script 356 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/media-gallery.js?v=111441960308641931071774530329" 357 type="module" 358 fetchpriority="low" 359></script>
vendor: 1 bytes, line 359
359
360<script 361 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/rte-formatter.js?v=101420294193111439321774530328" 362 type="module" 363 fetchpriority="low" 364></script>
vendor: 1 bytes, line 364
364
365<script 366 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/volume-pricing.js?v=15442793518842484731774530325" 367 type="module" 368 fetchpriority="low" 369></script>
vendor: 1 bytes, line 369
369
370<script 371 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/price-per-item.js?v=144512917617120124431774530329" 372 type="module" 373 fetchpriority="low" 374></script>
vendor: 1 bytes, line 374
374
375<script 376 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/volume-pricing-info.js?v=94479640769665442661774530325" 377 type="module" 378 fetchpriority="low" 379></script>
379 380 381 382
382<script 383 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/localization.js?v=15585934801240115691774530328" 384 type="module" 385 fetchpriority="low" 386 ></script>
386 387 388 389 390
390<script 391 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/fly-to-cart.js?v=129971753673458693881774530329" 392 type="module" 393 fetchpriority="low" 394 ></script>
394 395
395<script 396 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/sticky-add-to-cart.js?v=139436074259139393941774530326" 397 type="module" 398 fetchpriority="low" 399 ></script>
399 400
400<script type="module"> 401 import { RecentlyViewed } from '@theme/recently-viewed-products'; 402 RecentlyViewed.addProduct('11020550406490'); 403 </script>
403 404 405 406 407
407<script 408 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/product-card-link.js?v=97122579314620396511774530330" 409 type="module" 410 fetchpriority="low" 411 ></script>
411 412 413
414<script 415 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/auto-close-details.js?v=58350291535404441581774530326" 416 defer="defer" 417></script>
417 418
419<script> 420 const Theme = { 421 translations: { 422 placeholder_image: `Placeholder image`, 423 added: `Added`, 424 recipient_form_fields_visible: `Recipient form fields are now visible`, 425 recipient_form_fields_hidden: `Recipient form fields are now hidden`, 426 recipient_form_error: `There was an error with the form submission`, 427 items_added_to_cart_one: `1 item added to cart`, 428 items_added_to_cart_other: `{{ count }} items added to cart`, 429 cart_error_quantity_too_high: `The quantity you entered is too high. Please enter a smaller amount.`, 430 }, 431 routes: { 432 cart_add_url: '/cart/add.js', 433 cart_change_url: '/cart/change', 434 cart_update_url: '/cart/update', 435 cart_url: '/cart', 436 predictive_search_url: '/search/suggest', 437 search_url: '/search', 438 }, 439 template: { 440 name: 'product', 441 }, 442 }; 443</script>
443 444<style data-shopify> 445@font-face { 446 font-family: "Mona Sans"; 447 font-weight: 400; 448 font-style: normal; 449 font-display: swap; 450 src: url("//www.tnbl.co.uk/cdn/fonts/mona_sans/monasans_n4.cc3f184f0be0174773c72c5502453af88810902e.woff2") format("woff2"), 451 url("//www.tnbl.co.uk/cdn/fonts/mona_sans/monasans_n4.fa36f5da9700fad1da93752dd8c5592c2878aaec.woff") format("woff"); 452} 453@font-face { 454 font-family: "Mona Sans"; 455 font-weight: 700; 456 font-style: normal; 457 font-display: swap; 458 src: url("//www.tnbl.co.uk/cdn/fonts/mona_sans/monasans_n7.7a174deadcf23a8eb1f5b59b4449a81c215adf52.woff2") format("woff2"), 459 url("//www.tnbl.co.uk/cdn/fonts/mona_sans/monasans_n7.fa6a2ddc8ef9995151c1d6e9116360bce89c3e37.woff") format("woff"); 460} 461@font-face { 462 font-family: "Mona Sans"; 463 font-weight: 400; 464 font-style: italic; 465 font-display: swap; 466 src: url("//www.tnbl.co.uk/cdn/fonts/mona_sans/monasans_i4.8afe827b8e1249d54e8235898b9437caf25eb86d.woff2") format("woff2"), 467 url("//www.tnbl.co.uk/cdn/fonts/mona_sans/monasans_i4.f786ef97cfdb9bdf0574b567a4b4eb003f584167.woff") format("woff"); 468} 469@font-face { 470 font-family: "Mona Sans"; 471 font-weight: 700; 472 font-style: italic; 473 font-display: swap; 474 src: url("//www.tnbl.co.uk/cdn/fonts/mona_sans/monasans_i7.89aaf4e957e47c275eefdc2401ad05ae83998937.woff2") format("woff2"), 475 url("//www.tnbl.co.uk/cdn/fonts/mona_sans/monasans_i7.c3ddf121e9050e4a9b2cd9e66994f7aca1957aad.woff") format("woff"); 476} 477@font-face { 478 font-family: "Playfair Display"; 479 font-weight: 700; 480 font-style: normal; 481 font-display: swap; 482 src: url("//www.tnbl.co.uk/cdn/fonts/playfair_display/playfairdisplay_n7.592b3435e0fff3f50b26d410c73ae7ec893f6910.woff2") format("woff2"), 483 url("//www.tnbl.co.uk/cdn/fonts/playfair_display/playfairdisplay_n7.998b1417dec711058cce2abb61a0b8c59066498f.woff") format("woff"); 484} 485@font-face { 486 font-family: "Playfair Display"; 487 font-weight: 700; 488 font-style: italic; 489 font-display: swap; 490 src: url("//www.tnbl.co.uk/cdn/fonts/playfair_display/playfairdisplay_i7.ba833b400bcd9c858b439c75a4a7c6eddc4c7de0.woff2") format("woff2"), 491 url("//www.tnbl.co.uk/cdn/fonts/playfair_display/playfairdisplay_i7.4872c65919810cd2f622f4ba52cd2e9e595f11d5.woff") format("woff"); 492} 493@font-face { 494 font-family: "Playfair Display"; 495 font-weight: 600; 496 font-style: normal; 497 font-display: swap; 498 src: url("//www.tnbl.co.uk/cdn/fonts/playfair_display/playfairdisplay_n6.41e9dda2e7301ca861c0ec25a53c1bdf16b6624d.woff2") format("woff2"), 499 url("//www.tnbl.co.uk/cdn/fonts/playfair_display/playfairdisplay_n6.3fecbbfefcd2c3e39326078af5db97c0302e18b5.woff") format("woff"); 500} 501@font-face { 502 font-family: "Playfair Display"; 503 font-weight: 600; 504 font-style: italic; 505 font-display: swap; 506 src: url("//www.tnbl.co.uk/cdn/fonts/playfair_display/playfairdisplay_i6.e139889de066849bfa40e4922acb535e30fe59b4.woff2") format("woff2"), 507 url("//www.tnbl.co.uk/cdn/fonts/playfair_display/playfairdisplay_i6.241aa0a92d0a28d4bc4c79030f71570c08f31eeb.woff") format("woff"); 508} 509 510 511 :root { 512 /* Page Layout */ 513 --sidebar-width: 25rem; 514 --narrow-content-width: 36rem; 515 --normal-content-width: 42rem; 516 --wide-content-width: 46rem; 517 --narrow-page-width: 90rem; 518 --normal-page-width: 120rem; 519 --wide-page-width: 150rem; 520 521 /* Section Heights */ 522 --section-height-small: 15rem; 523 --section-height-medium: 25rem; 524 --section-height-large: 35rem; 525 526 @media screen and (min-width: 40em) { 527 --section-height-small: 40svh; 528 --section-height-medium: 55svh; 529 --section-height-large: 70svh; 530 } 531 532 @media screen and (min-width: 60em) { 533 --section-height-small: 50svh; 534 --section-height-medium: 65svh; 535 --section-height-large: 80svh; 536 } 537 538 /* Letter spacing */ 539 --letter-spacing-sm: 0.06em; 540 --letter-spacing-md: 0.13em; 541 542 /* Font families */ 543 --font-body--family: "Mona Sans", sans-serif; 544 --font-body--style: normal; 545 --font-body--weight: 400; 546 --font-subheading--family: "New York", Iowan Old Style, Apple Garamond, Baskerville, Times New Roman, Droid Serif, Times, Source Serif Pro, serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; 547 --font-subheading--style: normal; 548 --font-subheading--weight: 400; 549 --font-heading--family: "Playfair Display", serif; 550 --font-heading--style: normal; 551 --font-heading--weight: 700; 552 --font-accent--family: "Playfair Display", serif; 553 --font-accent--style: normal; 554 --font-accent--weight: 600; 555 556 /* Margin sizes */ 557 --font-h1--spacing: 0.25em; 558 --font-h2--spacing: 0.25em; 559 --font-h3--spacing: 0.25em; 560 --font-h4--spacing: 0.25em; 561 --font-h5--spacing: 0.25em; 562 --font-h6--spacing: 0.25em; 563 --font-paragraph--spacing: 0.5em; 564 565 /* Heading colors */ 566 --font-h1--color: var(--color-foreground-heading); 567 --font-h2--color: var(--color-foreground-heading); 568 --font-h3--color: var(--color-foreground-heading); 569 --font-h4--color: var(--color-foreground-heading); 570 --font-h5--color: var(--color-foreground-heading); 571 --font-h6--color: var(--color-foreground-heading); 572 573 /** Z-Index / Layering */ 574 --layer-section-background: -2; 575 --layer-lowest: -1; 576 --layer-base: 0; 577 --layer-flat: 1; 578 --layer-raised: 2; 579 --layer-heightened: 4; 580 --layer-sticky: 8; 581 --layer-window-overlay: 10; 582 --layer-header-menu: 12; 583 --layer-overlay: 16; 584 --layer-menu-drawer: 18; 585 --layer-temporary: 20; 586 587 /* Max-width / Measure */ 588 --max-width--body-normal: 32.5em; 589 --max-width--body-narrow: 22.75em; 590 591 --max-width--heading-normal: 32.5em; 592 --max-width--heading-narrow: 19.5em; 593 594 --max-width--display-normal: 13em; 595 --max-width--display-narrow: 9.75em; 596 --max-width--display-tight: 3.25em; 597 598 /* Letter-spacing / Tracking */ 599 --letter-spacing--display-tight: -0.03em; 600 --letter-spacing--display-normal: 0em; 601 --letter-spacing--display-loose: 0.03em; 602 603 --letter-spacing--heading-tight: -0.03em; 604 --letter-spacing--heading-normal: 0em; 605 --letter-spacing--heading-loose: 0.03em; 606 607 --letter-spacing--body-tight: -0.03em; 608 --letter-spacing--body-normal: 0em; 609 --letter-spacing--body-loose: 0.03em; 610 611 /* Line height / Leading */ 612 --line-height: 1; 613 614 --line-height--display-tight: 1; 615 --line-height--display-normal: 1.1; 616 --line-height--display-loose: 1.2; 617 618 --line-height--heading-tight: 1.15; 619 --line-height--heading-normal: 1.25; 620 --line-height--heading-loose: 1.35; 621 622 --line-height--body-tight: 1.2; 623 --line-height--body-normal: 1.4; 624 --line-height--body-loose: 1.6; 625 626 /* Typography presets */ 627 --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.25rem;--font-size--h5: 0.875rem;--font-size--h6: 0.875rem;--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-body--weight);--font-h6--letter-spacing: var(--letter-spacing--heading-normal);--font-h6--size: var(--font-size--h6);--font-h6--family: var(--font-body--family);--font-h6--style: var(--font-body--style);--font-h6--case: none;--font-h6--line-height: var(--line-height--display-loose); 628 629 /* Hardcoded font sizes */ 630 --font-size--3xs: 0.625rem; 631 --font-size--2xs: 0.75rem; 632 --font-size--xs: 0.8125rem; 633 --font-size--sm: 0.875rem; 634 --font-size--md: 1rem; 635 --font-size--lg: 1.125rem; 636 --font-size--xl: 1.25rem; 637 --font-size--2xl: 1.5rem; 638 --font-size--3xl: 2rem; 639 --font-size--4xl: 2.5rem; 640 --font-size--5xl: 3rem; 641 --font-size--6xl: 3.5rem; 642 643 /* Menu font sizes */ 644 --menu-font-sm--size: 0.875rem; 645 --menu-font-sm--line-height: calc(1.1 + 0.5 * min(16 / 14)); 646 --menu-font-md--size: 1rem; 647 --menu-font-md--line-height: calc(1.1 + 0.5 * min(16 / 16)); 648 --menu-font-lg--size: 1.125rem; 649 --menu-font-lg--line-height: calc(1.1 + 0.5 * min(16 / 18)); 650 --menu-font-xl--size: 1.25rem; 651 --menu-font-xl--line-height: calc(1.1 + 0.5 * min(16 / 20)); 652 --menu-font-2xl--size: 1.75rem; 653 --menu-font-2xl--line-height: calc(1.1 + 0.5 * min(16 / 28)); 654 655 /* Colors */ 656 --color-error: #8B0000; 657 --color-success: #006400; 658 --color-white: #FFFFFF; 659 --color-white-rgb: 255 255 255; 660 --color-black: #000000; 661 --color-instock: #3ED660; 662 --color-lowstock: #EE9441; 663 --color-outofstock: #C8C8C8; 664 665 /* Opacity */ 666 --opacity-5: 0.05; 667 --opacity-8: 0.08; 668 --opacity-10: 0.1; 669 --opacity-15: 0.15; 670 --opacity-20: 0.2;
671 --opacity-25: 0.25; 672 --opacity-30: 0.3; 673 --opacity-40: 0.4; 674 --opacity-50: 0.5; 675 --opacity-60: 0.6; 676 --opacity-70: 0.7; 677 --opacity-80: 0.8; 678 --opacity-85: 0.85; 679 --opacity-90: 0.9; 680 --opacity-subdued-text: var(--opacity-70); 681 682 --shadow-button: 0 2px 3px rgb(0 0 0 / 20%); 683 --gradient-image-overlay: linear-gradient(to top, rgb(0 0 0 / 0.5), transparent); 684 685 /* Spacing */ 686 --margin-3xs: 0.125rem; 687 --margin-2xs: 0.3rem; 688 --margin-xs: 0.5rem; 689 --margin-sm: 0.7rem; 690 --margin-md: 0.8rem; 691 --margin-lg: 1rem; 692 --margin-xl: 1.25rem; 693 --margin-2xl: 1.5rem; 694 --margin-3xl: 1.75rem; 695 --margin-4xl: 2rem; 696 --margin-5xl: 3rem; 697 --margin-6xl: 5rem; 698 699 --scroll-margin: 50px; 700 701 --padding-3xs: 0.125rem; 702 --padding-2xs: 0.25rem; 703 --padding-xs: 0.5rem; 704 --padding-sm: 0.7rem; 705 --padding-md: 0.8rem; 706 --padding-lg: 1rem; 707 --padding-xl: 1.25rem; 708 --padding-2xl: 1.5rem; 709 --padding-3xl: 1.75rem; 710 --padding-4xl: 2rem; 711 --padding-5xl: 3rem; 712 --padding-6xl: 4rem; 713 714 --gap-3xs: 0.125rem; 715 --gap-2xs: 0.3rem; 716 --gap-xs: 0.5rem; 717 --gap-sm: 0.7rem; 718 --gap-md: 0.9rem; 719 --gap-lg: 1rem; 720 --gap-xl: 1.25rem; 721 --gap-2xl: 2rem; 722 --gap-3xl: 3rem; 723 724 --spacing-scale-sm: 0.6; 725 --spacing-scale-md: 0.7; 726 --spacing-scale-default: 1.0; 727 728 /* Checkout buttons gap */ 729 --checkout-button-gap: 10px; 730 731 /* Borders */ 732 --style-border-width: 1px; 733 --style-border-radius-xs: 0.2rem; 734 --style-border-radius-sm: 0.6rem; 735 --style-border-radius-md: 0.8rem; 736 --style-border-radius-50: 50%; 737 --style-border-radius-lg: 1rem; 738 --style-border-radius-pills: 40px; 739 --style-border-radius-inputs: 12px; 740 --style-border-radius-buttons-primary: 100px; 741 --style-border-radius-buttons-secondary: 100px; 742 --style-border-width-primary: 2px; 743 --style-border-width-secondary: 2px; 744 --style-border-width-inputs: 1px; 745 --style-border-radius-popover: 14px; 746 --style-border-popover: 1px none rgb(var(--color-border-rgb) / 50%); 747 --style-border-drawer: 1px none rgb(var(--color-border-rgb) / 50%); 748 --style-border-swatch-opacity: 10%; 749 --style-border-swatch-width: 1px; 750 --style-border-swatch-style: solid; 751 752 /* Animation */ 753 --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1); 754 --ease-out-quad: cubic-bezier(0.32, 0.72, 0, 1); 755 --animation-speed-fast: 0.0625s; 756 --animation-speed: 0.125s; 757 --animation-speed-slow: 0.2s; 758 --animation-speed-medium: 0.15s; 759 --animation-easing: ease-in-out; 760 --animation-slideshow-easing: cubic-bezier(0.4, 0, 0.2, 1); 761 --drawer-animation-speed: 0.2s; 762 --animation-values-slow: var(--animation-speed-slow) var(--animation-easing); 763 --animation-values: var(--animation-speed) var(--animation-easing); 764 --animation-values-fast: var(--animation-speed-fast) var(--animation-easing); 765 --animation-values-allow-discrete: var(--animation-speed) var(--animation-easing) allow-discrete; 766 --animation-timing-hover: cubic-bezier(0.25, 0.46, 0.45, 0.94); 767 --animation-timing-active: cubic-bezier(0.5, 0, 0.75, 0); 768 --animation-timing-bounce: cubic-bezier(0.34, 1.56, 0.64, 1); 769 --animation-timing-default: cubic-bezier(0, 0, 0.2, 1); 770 --animation-timing-fade-in: cubic-bezier(0.16, 1, 0.3, 1); 771 --animation-timing-fade-out: cubic-bezier(0.4, 0, 0.2, 1); 772 773 /* View transitions */ 774 /* View transition old */ 775 --view-transition-old-main-content: var(--animation-speed) var(--animation-easing) both fadeOut; 776 777 /* View transition new */ 778 --view-transition-new-main-content: var(--animation-speed) var(--animation-easing) both fadeIn, var(--animation-speed) var(--animation-easing) both slideInTopViewTransition; 779 780 /* Focus */ 781 --focus-outline-width: 0.09375rem; 782 --focus-outline-offset: 0.2em; 783 784 /* Badges */ 785 --badge-blob-padding-block: 1px; 786 --badge-blob-padding-inline: 12px 8px; 787 --badge-rectangle-padding-block: 1px; 788 --badge-rectangle-padding-inline: 6px; 789 @media screen and (min-width: 750px) { 790 --badge-blob-padding-block: 4px; 791 --badge-blob-padding-inline: 16px 12px; 792 --badge-rectangle-padding-block: 4px; 793 --badge-rectangle-padding-inline: 10px; 794 } 795 796 /* Icons */ 797 --icon-size-2xs: 0.6rem; 798 --icon-size-xs: 0.85rem; 799 --icon-size-sm: 1.25rem; 800 --icon-size-md: 1.375rem; 801 --icon-size-lg: 1.5rem; 802 --icon-stroke-width: 1.5px; 803 804 /* Input */ 805 --input-email-min-width: 200px; 806 --input-search-max-width: 650px; 807 --input-padding-y: 0.8rem; 808 --input-padding-x: 0.8rem; 809 --input-padding: var(--input-padding-y) var(--input-padding-x); 810 --input-box-shadow-width: var(--style-border-width-inputs); 811 --input-box-shadow: 0 0 0 var(--input-box-shadow-width) var(--color-input-border); 812 --input-box-shadow-focus: 0 0 0 calc(var(--input-box-shadow-width) + 0.5px) var(--color-input-border); 813 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 814 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5)); 815 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
816 --input-textarea-min-height: 55px; 817 818 /* Button size */ 819 --button-size-sm: 30px; 820 --button-size-md: 36px; 821 --button-size: var(--minimum-touch-target); 822 --button-padding-inline: 24px; 823 --button-padding-block: 16px; 824 825 /* Button font-family */ 826 --button-font-family-primary: var(--font-body--family); 827 --button-font-family-secondary: var(--font-body--family); 828 829 /* Button text case */ 830 --button-text-case: ; 831 --button-text-case-primary: default; 832 --button-text-case-secondary: default; 833 834 /* Borders */ 835 --border-color: rgb(var(--color-border-rgb) / var(--opacity-50)); 836 --border-width-sm: 1px; 837 --border-width-md: 2px; 838 --border-width-lg: 5px; 839 --border-radius-sm: 0.25rem; 840 841 /* Drawers */ 842 --drawer-inline-padding: 25px; 843 --drawer-menu-inline-padding: 2.5rem; 844 --drawer-header-block-padding: 20px; 845 --drawer-content-block-padding: 10px; 846 --drawer-header-desktop-top: 0rem; 847 --drawer-padding: calc(var(--padding-sm) + 7px); 848 --drawer-height: 100dvh; 849 --drawer-width: 95vw; 850 --drawer-max-width: 500px; 851 852 /* Variant Picker Swatches */ 853 --variant-picker-swatch-width-unitless: 34; 854 --variant-picker-swatch-height-unitless: 34; 855 --variant-picker-swatch-width: 34px; 856 --variant-picker-swatch-height: 34px; 857 --variant-picker-swatch-radius: 32px; 858 --variant-picker-border-width: 1px; 859 --variant-picker-border-style: solid; 860 --variant-picker-border-opacity: 10%; 861 862 /* Variant Picker Buttons */ 863 --variant-picker-button-radius: 14px; 864 --variant-picker-button-border-width: 1px; 865 866 /* Slideshow */ 867 --slideshow-controls-size: 3.5rem; 868 --slideshow-controls-icon: 2rem; 869 --peek-next-slide-size: 3rem; 870 871 /* Utilities */ 872 --backdrop-opacity: 0.15; 873 --backdrop-color-rgb: var(--color-shadow-rgb); 874 --minimum-touch-target: 44px; 875 --disabled-opacity: 0.5; 876 --skeleton-opacity: 0.025; 877 878 /* Shapes */ 879 --shape--circle: circle(50% at center); 880 --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%); 881 --shape--diamond: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); 882 --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
882% 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%); 883 884 /* Buy buttons */ 885 --height-buy-buttons: calc(var(--padding-lg) * 2 + var(--icon-size-sm)); 886 887 /* Card image width and height variables */ 888 --card-width-small: 10rem; 889 890 --height-small: 10rem; 891 --height-medium: 11.5rem; 892 --height-large: 13rem; 893 --height-full: 100vh; 894 895 @media screen and (min-width: 750px) { 896 --height-small: 17.5rem; 897 --height-medium: 21.25rem; 898 --height-large: 25rem; 899 } 900 901 /* Modal */ 902 --modal-max-height: 65dvh; 903 904 /* Card styles for search */ 905 --card-bg-hover: rgb(var(--color-foreground-rgb) / var(--opacity-5)); 906 --card-border-hover: rgb(var(--color-foreground-rgb) / var(--opacity-30)); 907 --card-border-focus: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 908 909 /* Cart */ 910 --cart-primary-font-family: var(--font-body--family); 911 --cart-primary-font-style: var(--font-body--style); 912 --cart-primary-font-weight: var(--font-body--weight); 913 --cart-secondary-font-family: var(--font-secondary--family); 914 --cart-secondary-font-style: var(--font-secondary--style); 915 --cart-secondary-font-weight: var(--font-secondary--weight); 916 } 917</style> 918<style data-shopify> 919 920 921 :root, 922 923 924 925 .color-scheme-1 { 926 --color-background: rgb(255 255 255 / 1.0); 927 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 928 --color-background-rgb: 255 255 255; 929 --opacity-5-15: 0.05; 930 --opacity-10-25: 0.1; 931 --opacity-35-55: 0.35; 932 --opacity-40-60: 0.4; 933 --opacity-30-60: 0.3; 934 --color-foreground: rgb(17 17 17 / 1.0); 935 --color-foreground-rgb: 17 17 17; 936 --color-foreground-heading: rgb(17 17 17 / 1.0); 937 --color-foreground-heading-rgb: 17 17 17; 938 --color-primary: rgb(17 17 17 / 1.0); 939 --color-primary-rgb: 17 17 17; 940 --color-primary-hover: rgb(0 0 0 / 1.0); 941 --color-primary-hover-rgb: 0 0 0; 942 --color-border: rgb(217 217 217 / 1.0); 943 --color-border-rgb: 217 217 217; 944 --color-shadow: rgb(0 0 0 / 1.0); 945 --color-shadow-rgb: 0 0 0; 946 --color-primary-button-text: rgb(255 255 255 / 1.0); 947 --color-primary-button-background: rgb(172 150 105 / 1.0); 948 --color-primary-button-border: rgb(255 255 255 / 1.0); 949 --color-primary-button-hover-text: rgb(17 17 17 / 1.0); 950 --color-primary-button-hover-background: rgb(255 255 255 / 1.0); 951 --color-primary-button-hover-border: rgb(172 150 105 / 1.0); 952 --color-secondary-button-text: rgb(0 0 0 / 1.0); 953 --color-secondary-button-background: rgb(0 0 0 / 0.0); 954 --color-secondary-button-border: rgb(0 0 0 / 1.0); 955 --color-secondary-button-hover-text: rgb(51 51 51 / 1.0); 956 --color-secondary-button-hover-background: rgb(250 250 250 / 1.0); 957 --color-secondary-button-hover-border: rgb(51 51 51 / 1.0); 958 --color-input-background: rgb(255 255 255 / 0.78); 959 --color-input-text: rgb(51 51 51 / 1.0); 960 --color-input-text-rgb: 51 51 51; 961 --color-input-border: rgb(223 223 223 / 1.0); 962 --color-input-hover-background: rgb(0 0 0 / 0.01); 963 --color-variant-background: rgb(255 255 255 / 1.0); 964 --color-variant-border: rgb(0 0 0 / 0.13); 965 --color-variant-text: rgb(0 0 0 / 1.0); 966 --color-variant-text-rgb: 0 0 0; 967 --color-variant-hover-background: rgb(245 245 245 / 1.0); 968 --color-variant-hover-text: rgb(0 0 0 / 1.0); 969 --color-variant-hover-border: rgb(230 230 230 / 1.0); 970 --color-selected-variant-background: rgb(0 0 0 / 1.0); 971 --color-selected-variant-border: rgb(0 0 0 / 1.0); 972 --color-selected-variant-text: rgb(255 255 255 / 1.0); 973 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 974 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 975 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 976 977 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 978 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 979 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 980 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 981 --font-h1--color: var(--color-foreground-heading); 982 --font-h2--color: var(--color-foreground-heading); 983 --font-h3--color: var(--color-foreground-heading); 984 --font-h4--color: var(--color-foreground-heading); 985 --font-h5--color: var(--color-foreground-heading); 986 --font-h6--color: var(--color-foreground-heading); 987 988 /* Shadows */ 989 990 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 991 992 993 --shadow-blur: 20px; 994 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 995 996 } 997 998 999 1000 1001 .color-scheme-2 {
1002 --color-background: rgb(255 240 230 / 1.0); 1003 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1004 --color-background-rgb: 255 240 230; 1005 --opacity-5-15: 0.05; 1006 --opacity-10-25: 0.1; 1007 --opacity-35-55: 0.35; 1008 --opacity-40-60: 0.4; 1009 --opacity-30-60: 0.3; 1010 --color-foreground: rgb(255 255 255 / 1.0); 1011 --color-foreground-rgb: 255 255 255; 1012 --color-foreground-heading: rgb(255 255 255 / 1.0); 1013 --color-foreground-heading-rgb: 255 255 255; 1014 --color-primary: rgb(0 0 0 / 0.81); 1015 --color-primary-rgb: 0 0 0; 1016 --color-primary-hover: rgb(255 255 255 / 1.0); 1017 --color-primary-hover-rgb: 255 255 255; 1018 --color-border: rgb(223 223 223 / 1.0); 1019 --color-border-rgb: 223 223 223; 1020 --color-shadow: rgb(0 0 0 / 1.0); 1021 --color-shadow-rgb: 0 0 0; 1022 --color-primary-button-text: rgb(255 255 255 / 1.0); 1023 --color-primary-button-background: rgb(0 0 0 / 1.0); 1024 --color-primary-button-border: rgb(0 0 0 / 1.0); 1025 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1026 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1027 --color-primary-button-hover-border: rgb(51 51 51 / 1.0); 1028 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1029 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1030 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1031 --color-secondary-button-hover-text: rgb(0 0 0 / 1.0); 1032 --color-secondary-button-hover-background: rgb(255 255 255 / 0.36); 1033 --color-secondary-button-hover-border: rgb(51 51 51 / 0.73); 1034 --color-input-background: rgb(0 0 0 / 0.0); 1035 --color-input-text: rgb(0 0 0 / 0.53); 1036 --color-input-text-rgb: 0 0 0; 1037 --color-input-border: rgb(0 0 0 / 0.13); 1038 --color-input-hover-background: rgb(255 255 255 / 0.36); 1039 --color-variant-background: rgb(255 255 255 / 1.0); 1040 --color-variant-border: rgb(230 230 230 / 1.0); 1041 --color-variant-text: rgb(0 0 0 / 1.0); 1042 --color-variant-text-rgb: 0 0 0; 1043 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1044 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1045 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1046 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1047 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1048 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1049 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1050 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1051 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1052 1053 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1054 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1055 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1056 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1057 --font-h1--color: var(--color-foreground-heading); 1058 --font-h2--color: var(--color-foreground-heading); 1059 --font-h3--color: var(--color-foreground-heading); 1060 --font-h4--color: var(--color-foreground-heading); 1061 --font-h5--color: var(--color-foreground-heading); 1062 --font-h6--color: var(--color-foreground-heading); 1063 1064 /* Shadows */ 1065 1066 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1067 1068 1069 --shadow-blur: 20px; 1070 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1071 1072 } 1073 1074 1075 1076 1077 .color-scheme-3 { 1078 --color-background: rgb(255 237 247 / 1.0); 1079 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1080 --color-background-rgb: 255 237 247; 1081 --opacity-5-15: 0.05; 1082 --opacity-10-25: 0.1; 1083 --opacity-35-55: 0.35; 1084 --opacity-40-60: 0.4; 1085 --opacity-30-60: 0.3; 1086 --color-foreground: rgb(17 17 17 / 1.0); 1087 --color-foreground-rgb: 17 17 17; 1088 --color-foreground-heading: rgb(17 17 17 / 1.0); 1089 --color-foreground-heading-rgb: 17 17 17; 1090 --color-primary: rgb(0 0 0 / 0.81); 1091 --color-primary-rgb: 0 0 0; 1092 --color-primary-hover: rgb(0 0 0 / 1.0); 1093 --color-primary-hover-rgb: 0 0 0; 1094 --color-border: rgb(17 17 17 / 1.0); 1095 --color-border-rgb: 17 17 17; 1096 --color-shadow: rgb(0 0 0 / 1.0); 1097 --color-shadow-rgb: 0 0 0; 1098 --color-primary-button-text: rgb(255 255 255 / 1.0); 1099 --color-primary-button-background: rgb(0 0 0 / 1.0); 1100 --color-primary-button-border: rgb(0 0 0 / 1.0); 1101 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1102 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1103 --color-primary-button-hover-border: rgb(51 51 51 / 1.0); 1104 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1105 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1106 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1107 --color-secondary-button-hover-text: rgb(0 0 0 / 0.81); 1108 --color-secondary-button-hover-background: rgb(255 255 255 / 0.36); 1109 --color-secondary-button-hover-border: rgb(0 0 0 / 0.81); 1110 --color-input-background: rgb(0 0 0 / 0.0); 1111 --color-input-text: rgb(0 0 0 / 0.81); 1112 --color-input-text-rgb: 0 0 0; 1113 --color-input-border: rgb(0 0 0 / 0.81); 1114 --color-input-hover-background: rgb(255 255 255 / 0.36); 1115 --color-variant-background: rgb(255 255 255 / 1.0); 1116 --color-variant-border: rgb(230 230 230 / 1.0); 1117 --color-variant-text: rgb(0 0 0 / 1.0); 1118 --color-variant-text-rgb: 0 0 0; 1119 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1120 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1121 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1122 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1123 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1124 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1125 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1126 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1127 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1128 1129 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1130 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1131 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1132 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1133 --font-h1--color: var(--color-foreground-heading); 1134 --font-h2--color: var(--color-foreground-heading); 1135 --font-h3--color: var(--color-foreground-heading); 1136 --font-h4--color: var(--color-foreground-heading); 1137 --font-h5--color: var(--color-foreground-heading); 1138 --font-h6--color: var(--color-foreground-heading); 1139 1140 /* Shadows */ 1141 1142 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1143 1144 1145 --shadow-blur: 20px; 1146 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1147 1148 } 1149 1150 1151 1152 1153 .color-scheme-4 { 1154 --color-background: rgb(255 255 255 / 1.0); 1155 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1156 --color-background-rgb: 255 255 255; 1157 --opacity-5-15: 0.05; 1158 --opacity-10-25: 0.1; 1159 --opacity-35-55: 0.35; 1160 --opacity-40-60: 0.4; 1161 --opacity-30-60: 0.3; 1162 --color-foreground: rgb(0 0 0 / 0.81); 1163 --color-foreground-rgb: 0 0 0; 1164 --color-foreground-heading: rgb(0 0 0 / 1.0); 1165 --color-foreground-heading-rgb: 0 0 0; 1166 --color-primary: rgb(0 0 0 / 0.81); 1167 --color-primary-rgb: 0 0 0; 1168 --color-primary-hover: rgb(0 0 0 / 1.0); 1169 --color-primary-hover-rgb: 0 0 0; 1170 --color-border: rgb(255 255 255 / 1.0); 1171 --color-border-rgb: 255 255 255; 1172 --color-shadow: rgb(0 0 0 / 1.0); 1173 --color-shadow-rgb: 0 0 0; 1174 --color-primary-button-text: rgb(255 255 255 / 1.0); 1175 --color-primary-button-background: rgb(0 0 0 / 1.0); 1176 --color-primary-button-border: rgb(29 54 134 / 1.0); 1177 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1178 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1179 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 1180 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1181 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1182 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1183 --color-secondary-button-hover-text: rgb(0 0 0 / 0.81); 1184 --color-secondary-button-hover-background: rgb(255 255 255 / 0.36); 1185 --color-secondary-button-hover-border: rgb(0 0 0 / 0.81); 1186 --color-input-background: rgb(0 0 0 / 0.0); 1187 --color-input-text: rgb(0 0 0 / 0.81); 1188 --color-input-text-rgb: 0 0 0; 1189 --color-input-border: rgb(0 0 0 / 0.81); 1190 --color-input-hover-background: rgb(255 255 255 / 0.36); 1191 --color-variant-background: rgb(255 255 255 / 1.0); 1192 --color-variant-border: rgb(230 230 230 / 1.0); 1193 --color-variant-text: rgb(0 0 0 / 1.0); 1194 --color-variant-text-rgb: 0 0 0; 1195 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1196 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1197 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1198 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1199 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1200 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1201 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1202 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1203 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1204 1205 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1206 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1207 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1208 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1209 --font-h1--color: var(--color-foreground-heading); 1210 --font-h2--color: var(--color-foreground-heading); 1211 --font-h3--color: var(--color-foreground-heading); 1212 --font-h4--color: var(--color-foreground-heading); 1213 --font-h5--color: var(--color-foreground-heading); 1214 --font-h6--color: var(--color-foreground-heading); 1215 1216 /* Shadows */ 1217 1218 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1219 1220 1221 --shadow-blur: 20px; 1222 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1223 1224 } 1225 1226 1227 1228 1229 .color-scheme-5 { 1230 --color-background: rgb(51 51 51 / 1.0); 1231 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1232 --color-background-rgb: 51 51 51; 1233 --opacity-5-15: 0.15; 1234 --opacity-10-25: 0.25; 1235 --opacity-35-55: 0.55; 1236 --opacity-40-60: 0.6; 1237 --opacity-30-60: 0.6; 1238 --color-foreground: rgb(255 255 255 / 1.0); 1239 --color-foreground-rgb: 255 255 255; 1240 --color-foreground-heading: rgb(255 255 255 / 1.0); 1241 --color-foreground-heading-rgb: 255 255 255; 1242 --color-primary: rgb(255 255 255 / 1.0); 1243 --color-primary-rgb: 255 255 255; 1244 --color-primary-hover: rgb(255 255 255 / 0.69); 1245 --color-primary-hover-rgb: 255 255 255; 1246 --color-border: rgb(255 255 255 / 0.69); 1247 --color-border-rgb: 255 255 255; 1248 --color-shadow: rgb(0 0 0 / 1.0); 1249 --color-shadow-rgb: 0 0 0; 1250 --color-primary-button-text: rgb(0 0 0 / 1.0); 1251 --color-primary-button-background: rgb(255 255 255 / 1.0); 1252 --color-primary-button-border: rgb(255 255 255 / 1.0); 1253 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1254 --color-primary-button-hover-background: rgb(0 0 0 / 1.0); 1255 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 1256 --color-secondary-button-text: rgb(255 255 255 / 1.0); 1257 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1258 --color-secondary-button-border: rgb(255 255 255 / 0.69); 1259 --color-secondary-button-hover-text: rgb(255 255 255 / 0.93); 1260 --color-secondary-button-hover-background: rgb(255 255 255 / 0.04); 1261 --color-secondary-button-hover-border: rgb(255 255 255 / 0.69); 1262 --color-input-background: rgb(51 51 51 / 1.0); 1263 --color-input-text: rgb(255 255 255 / 0.93); 1264 --color-input-text-rgb: 255 255 255; 1265 --color-input-border: rgb(255 255 255 / 0.69); 1266 --color-input-hover-background: rgb(255 255 255 / 0.04); 1267 --color-variant-background: rgb(255 255 255 / 1.0); 1268 --color-variant-border: rgb(230 230 230 / 1.0); 1269 --color-variant-text: rgb(0 0 0 / 1.0); 1270 --color-variant-text-rgb: 0 0 0; 1271 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1272 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1273 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1274 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1275 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1276 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1277 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1278 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1279 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1280 1281 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1282 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1283 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1284 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1285 --font-h1--color: var(--color-foreground-heading); 1286 --font-h2--color: var(--color-foreground-heading); 1287 --font-h3--color: var(--color-foreground-heading); 1288 --font-h4--color: var(--color-foreground-heading); 1289 --font-h5--color: var(--color-foreground-heading); 1290 --font-h6--color: var(--color-foreground-heading); 1291 1292 /* Shadows */ 1293 1294 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1295 1296 1297 --shadow-blur: 20px; 1298 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1299 1300 } 1301 1302 1303 1304 1305 .color-scheme-6 { 1306 --color-background: rgb(0 0 0 / 0.0); 1307 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1308 --color-background-rgb: 0 0 0; 1309 --opacity-5-15: 0.15; 1310 --opacity-10-25: 0.25; 1311 --opacity-35-55: 0.55; 1312 --opacity-40-60: 0.6; 1313 --opacity-30-60: 0.6; 1314 --color-foreground: rgb(255 255 255 / 1.0); 1315 --color-foreground-rgb: 255 255 255; 1316 --color-foreground-heading: rgb(255 255 255 / 1.0); 1317 --color-foreground-heading-rgb: 255 255 255; 1318 --color-primary: rgb(255 255 255 / 1.0); 1319 --color-primary-rgb: 255 255 255; 1320 --color-primary-hover: rgb(255 255 255 / 0.69); 1321 --color-primary-hover-rgb: 255 255 255; 1322 --color-border: rgb(230 230 230 / 1.0); 1323 --color-border-rgb: 230 230 230; 1324 --color-shadow: rgb(0 0 0 / 1.0); 1325 --color-shadow-rgb: 0 0 0; 1326 --color-primary-button-text: rgb(255 255 255 / 1.0); 1327 --color-primary-button-background: rgb(172 150 105 / 1.0); 1328 --color-primary-button-border: rgb(255 255 255 / 1.0); 1329 --color-primary-button-hover-text: rgb(17 17 17 / 1.0); 1330 --color-primary-button-hover-background: rgb(255 255 255 / 1.0); 1331 --color-primary-button-hover-border: rgb(172 150 105 / 1.0); 1332
1332 --color-secondary-button-text: rgb(255 255 255 / 1.0); 1333 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1334 --color-secondary-button-border: rgb(255 255 255 / 1.0); 1335 --color-secondary-button-hover-text: rgb(255 255 255 / 1.0); 1336 --color-secondary-button-hover-background: rgb(255 255 255 / 0.08); 1337 --color-secondary-button-hover-border: rgb(255 255 255 / 1.0); 1338 --color-input-background: rgb(255 255 255 / 1.0); 1339 --color-input-text: rgb(0 0 0 / 0.53); 1340 --color-input-text-rgb: 0 0 0; 1341 --color-input-border: rgb(0 0 0 / 0.13); 1342 --color-input-hover-background: rgb(250 250 250 / 1.0); 1343 --color-variant-background: rgb(255 255 255 / 1.0); 1344 --color-variant-border: rgb(230 230 230 / 1.0); 1345 --color-variant-text: rgb(0 0 0 / 1.0); 1346 --color-variant-text-rgb: 0 0 0; 1347 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1348 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1349 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1350 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1351 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1352 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1353 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1354 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1355 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1356 1357 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1358 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1359 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1360 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1361 --font-h1--color: var(--color-foreground-heading); 1362 --font-h2--color: var(--color-foreground-heading); 1363 --font-h3--color: var(--color-foreground-heading); 1364 --font-h4--color: var(--color-foreground-heading); 1365 --font-h5--color: var(--color-foreground-heading); 1366 --font-h6--color: var(--color-foreground-heading); 1367 1368 /* Shadows */ 1369 1370 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1371 1372 1373 --shadow-blur: 20px; 1374 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1375 1376 } 1377 1378 1379 1380 1381 .color-scheme-58084d4c-a86e-4d0a-855e-a0966e5043f7 { 1382 --color-background: rgb(172 150 105 / 1.0); 1383 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1384 --color-background-rgb: 172 150 105; 1385 --opacity-5-15: 0.05; 1386 --opacity-10-25: 0.1; 1387 --opacity-35-55: 0.35; 1388 --opacity-40-60: 0.4; 1389 --opacity-30-60: 0.3; 1390 --color-foreground: rgb(255 255 255 / 1.0); 1391 --color-foreground-rgb: 255 255 255; 1392 --color-foreground-heading: rgb(255 255 255 / 1.0); 1393 --color-foreground-heading-rgb: 255 255 255; 1394 --color-primary: rgb(255 255 255 / 1.0); 1395 --color-primary-rgb: 255 255 255; 1396 --color-primary-hover: rgb(0 0 0 / 0.53); 1397 --color-primary-hover-rgb: 0 0 0; 1398 --color-border: rgb(255 255 255 / 1.0); 1399 --color-border-rgb: 255 255 255; 1400 --color-shadow: rgb(0 0 0 / 1.0); 1401 --color-shadow-rgb: 0 0 0; 1402 --color-primary-button-text: rgb(255 255 255 / 1.0); 1403 --color-primary-button-background: rgb(0 0 0 / 1.0); 1404 --color-primary-button-border: rgb(172 150 105 / 1.0); 1405 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1406 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1407 --color-primary-button-hover-border: rgb(172 150 105 / 1.0); 1408 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1409 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1410 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1411 --color-secondary-button-hover-text: rgb(51 51 51 / 1.0); 1412 --color-secondary-button-hover-background: rgb(250 250 250 / 1.0); 1413 --color-secondary-button-hover-border: rgb(51 51 51 / 1.0); 1414 --color-input-background: rgb(255 255 255 / 1.0); 1415 --color-input-text: rgb(0 0 0 / 0.53); 1416 --color-input-text-rgb: 0 0 0; 1417 --color-input-border: rgb(0 0 0 / 0.13); 1418 --color-input-hover-background: rgb(250 250 250 / 1.0); 1419 --color-variant-background: rgb(255 255 255 / 1.0); 1420 --color-variant-border: rgb(230 230 230 / 1.0); 1421 --color-variant-text: rgb(0 0 0 / 1.0); 1422 --color-variant-text-rgb: 0 0 0; 1423 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1424 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1425 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1426 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1427 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1428 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1429 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1430 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1431 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1432 1433 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1434 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1435 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1436 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1437 --font-h1--color: var(--color-foreground-heading); 1438 --font-h2--color: var(--color-foreground-heading); 1439 --font-h3--color: var(--color-foreground-heading); 1440 --font-h4--color: var(--color-foreground-heading); 1441 --font-h5--color: var(--color-foreground-heading); 1442 --font-h6--color: var(--color-foreground-heading); 1443 1444 /* Shadows */ 1445 1446 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1447 1448 1449 --shadow-blur: 20px; 1450 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1451 1452 } 1453 1454 1455 body, .color-scheme-1, .color-scheme-2, .color-scheme-3, .color-scheme-4, .color-scheme-5, .color-scheme-6, .color-scheme-58084d4c-a86e-4d0a-855e-a0966e5043f7 { 1456 color: var(--color-foreground); 1457 background-color: var(--color-background); 1458 } 1459</style> 1460 1461 1462
1462<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
1462<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/98633711962/digital_wallets/dialog"> 1463<meta id="in-context-paypal-metadata" data-shop-id="98633711962" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="GBP"> 1464<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="buy" href="/cart/54916494557530:1?ucp/version=2026-08-25" payment="com.google.pay dev.shopify.card dev.shopify.shop_pay"><link rel="alternate" type="application/json+oembed" href="https://www.tnbl.co.uk/products/apres-nova-led-lamp-mini.oembed">
1465<script async="async" src="/checkouts/internal/preloads.js?locale=en-GB&default_configuration_id=7864779098"></script>
vendor: 1 bytes, line 1465
1465
1466<script id="shopify-features" type="application/json">{"accessToken":"e2da49057becda449bb18eb413c8d844","betas":["rich-media-storefront-analytics"],"domain":"www.tnbl.co.uk","predictiveSearch":true,"shopId":98633711962,"locale":"en"}</script>
vendor: 1 bytes, line 1466
1466
1467<script>var Shopify = Shopify || {}; 1468Shopify.shop = "tnbl-uk.myshopify.com"; 1469Shopify.locale = "en"; 1470Shopify.currency = {"active":"GBP","rate":"1.0"}; 1471Shopify.country = "GB"; 1472Shopify.theme = {"name":"tnbl_shopify\/main","id":193010991450,"schema_name":"Horizon","schema_version":"3.2.1","theme_store_id":null,"role":"main"}; 1473Shopify.theme.handle = "null"; 1474Shopify.theme.style = {"id":null,"handle":null}; 1475Shopify.cdnHost = "www.tnbl.co.uk/cdn"; 1476Shopify.routes = Shopify.routes || {}; 1477Shopify.routes.root = "/"; 1478Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 1479Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 1480Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 1481Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 1481
1481
1482<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 1482
1482
1483<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 1483
1483
1484<script> 1485 window.Shopify = window.Shopify || {}; 1486 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 1487 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 1488 window.Shopify.SignInWithShop.eligible = true; 1489</script>
vendor: 1 bytes, line 1489
1489
1490<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
vendor: 1 bytes, line 1490
1490
1491<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 1491
1491
1492<script type="module"> 1493 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 1494 1495 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 1496 1497</script>
vendor: 1 bytes, line 1497
1497
1498<script> 1499 window.Shopify = window.Shopify || {}; 1500 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 1501 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"]}; 1502</script>
vendor: 1 bytes, line 1502
1502
1503<script>(function() { 1504 var isLoaded = false; 1505 function asyncLoad() { 1506 if (isLoaded) return; 1507 isLoaded = true; 1508 var urls = ["https:\/\/cdn.salesfire.co.uk\/code\/c7accaaa-a294-445b-957a-64072951e91d.js?shop=tnbl-uk.myshopify.com"]; 1509 for (var i = 0; i < urls.length; i++) { 1510 var s = document.createElement('script'); 1511 s.type = 'text/javascript'; 1512 s.async = true; 1513 s.src = urls[i]; 1514 var x = document.getElementsByTagName('script')[0]; 1515 x.parentNode.insertBefore(s, x); 1516 } 1517 }; 1518 if(window.attachEvent) { 1519 window.attachEvent('onload', asyncLoad); 1520 } else { 1521 window.addEventListener('load', asyncLoad, false); 1522 } 1523})();</script>
vendor: 1 bytes, line 1523
1523
1524<script id="__st">var __st={"a":98633711962,"offset":3600,"reqid":"91029608-14d0-452a-9a14-939cfeac2b74-1791516145","pageurl":"www.tnbl.co.uk\/products\/apres-nova-led-lamp-mini?_pos=2\u0026_psq=nova\u0026_psid=4f35e873a\u0026_ss=e","u":"4dc2f5af414e","p":"product","rtyp":"product","rid":11020550406490};</script>
vendor: 1 bytes, line 1524
1524
1525<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 1525
1525
1526<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 1526
1526
1527<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.tnbl.co.uk/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1527
1527
1528<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 = "//www.tnbl.co.uk/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>
1528<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 1528
1528
1529<script> 1530 window.Shopify = window.Shopify || {}; 1531 window.Shopify.MCP = window.Shopify.MCP || {}; 1532 window.Shopify.MCP.enabled = true; 1533 window.Shopify.MCP.shop = "tnbl-uk.myshopify.com"; 1534 window.Shopify.MCP.mcpEndpoint = "https:\/\/www.tnbl.co.uk\/api\/mcp"; 1535 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"]}}]; 1536</script>
vendor: 1 bytes, line 1536
1536
1537<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("\/\/www.tnbl.co.uk\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 1538</script>
vendor: 1 bytes, line 1538
1538
1539<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://www.tnbl.co.uk/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 1540</script>
vendor: 1 bytes, line 1540
1540
1541<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 1542 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); 1543</script>
vendor: 1 bytes, line 1543
1543
1544<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}})); 1545</script>
vendor: 1 bytes, line 1545
1545
1546<script id='scb4127' type='text/javascript' async='' src='https://www.tnbl.co.uk/cdn/shopifycloud/privacy-banner/storefront-banner.js'></script>
1546<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.tnbl.co.uk/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 1547<style id="shopify-accelerated-checkout-cart"> 1548 #shopify-buyer-consent { 1549 margin-top: 1em; 1550 display: inline-block; 1551 width: 100%; 1552} 1553 1554#shopify-buyer-consent.hidden { 1555 display: none; 1556} 1557 1558#shopify-subscription-policy-button { 1559 background: none; 1560 border: none; 1561 padding: 0; 1562 text-decoration: underline; 1563 font-size: inherit; 1564 cursor: pointer; 1565} 1566 1567#shopify-subscription-policy-button::before { 1568 box-shadow: none; 1569} 1570 1571 </style> 1572<link rel="stylesheet" media="screen" href="//www.tnbl.co.uk/cdn/shop/t/6/compiled_assets/styles.css?v=87217545299018215091791216548">
1573<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
1573 1574 1575
1575<script> 1576 window.markerConfig = { 1577 project: '6989ca01a3e8b6cadc8533d4', 1578 source: 'snippet', 1579 }; 1580 1581 !(function (e, r, a) { 1582 if (!e.__Marker) { 1583 e.__Marker = {}; 1584 var t = [], 1585 n = { __cs: t }; 1586 [ 1587 'show', 1588 'hide', 1589 'isVisible', 1590 'capture', 1591 'cancelCapture', 1592 'unload', 1593 'reload', 1594 'isExtensionInstalled', 1595 'setReporter', 1596 'clearReporter', 1597 'setCustomData', 1598 'on', 1599 'off', 1600 ].forEach(function (e) { 1601 n[e] = function () { 1602 var r = Array.prototype.slice.call(arguments); 1603 r.unshift(e), t.push(r); 1604 }; 1605 }), 1606 (e.Marker = n); 1607 var s = r.createElement('script'); 1608 (s.async = 1), (s.src = 'https://edge.marker.io/latest/shim.js'); 1609 var i = r.getElementsByTagName('script')[0]; 1610 i.parentNode.insertBefore(s, i); 1611 } 1612 })(window, document); 1613 </script>
1613 1614 <!-- BEGIN app block: shopify://apps/countdown-sami/blocks/app-embed-block/4a43514a-3558-477f-914e-e834a137453e -->
1614<script type="text/javascript"> 1615 window.Samita = window.Samita || {}; 1616 Samita.Countdowns = Samita.Countdowns || {}; 1617 Samita.Countdowns.locale = {"shop_locale":{"locale":"en","enabled":true,"primary":true,"published":true}}; 1618 Samita.Countdowns.page = { 1619 title : document.title.replaceAll('"', "'"), 1620 href : window.location.href, 1621 type: "product" 1622 }; 1623 Samita.Countdowns.dataShop = {"configuration":{"money_format":"£{{amount}}"},"pricing":{"plan":"BETA","features":[]},"flags":{"watermark":true,"customize":true},"settings":{"notUseSearchFileApp":false,"collectFeedback":true,"countdownTimers":0,"countdownDeliveries":1,"salePopups":0},"url":"tnbl-uk.myshopify.com","api_url":"","app_url":"https://timer.samita.io","storefront_access_token":"bfaad0516a5a05a2006749cd46d0f4a8"}; 1624 Samita.Countdowns.theme_id = null; 1625 Samita.Countdowns.products = []; 1626 Samita.Countdowns.intervals = []; 1627 1628 1629 1630 1631 Samita.Countdowns.product ={"id":11020550406490,"title":"Aprés Mini Nova Led Lamp","handle":"apres-nova-led-lamp-mini","description":"\u003cp\u003e\u003cstrong\u003eHigh Standards. Mini Nova.\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eThe Mini Nova LED Lamp brings professional Aprés performance to a compact, salon-ready design at $99.99. Built with 45 premium dual-wavelength LEDs, it delivers broad 365nm + 405nm coverage to support fast, even curing across compatible gel systems.\u003c\/p\u003e\n\u003cp\u003eChoose from 30-, 60-, or 90-second curing times, or activate Low Heat mode to reduce power output by 65% and help minimize heat spikes. Automatic hand sensing starts a 60-second cure as soon as a hand enters the lamp, keeping services moving with one less button to press.\u003c\/p\u003e\n\u003cp\u003eA removable gold-colored metal base simplifies cleaning, while the UV-coated exterior resists scratches and acetone exposure from everyday salon use. Compact, lightweight, and equipped with a built-in handle, Mini Nova fits naturally into first stations, and growing salons.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eProfessional essentials. A more attainable investment.\u003cbr\u003e\u003cbr\u003e\u003cem\u003eFor Professional Use Only\u003cbr\u003e\u003cbr\u003e\u003c\/em\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003ch3 class=\"text-[20px] leading-[26px] uppercase !font-elza !text-left !text-base !normal-case\"\u003eBenefits\u003c\/h3\u003e\n\u003cdiv\u003e\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"22\" height=\"22\" viewbox=\"0 0 22 22\" fill=\"none\" class=\"w-3 h-3\"\u003e\u003cpath d=\"M21.1025 10C21.6067 10.0513 22 10.4774 22 10.9951C22 11.5128 21.6067 11.9389 21.1025 11.9902L21 11.9951H1C0.447715 11.9951 0 11.5474 0 10.9951C0 10.4428 0.447715 9.99512 1 9.99512H21L21.1025 10Z\" fill=\"black\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"overflow-hidden mb-[20px]\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"prose prose-sm md:prose-base text-[#191919] font-elza\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eProfessional dual-wavelength curing:\u003c\/strong\u003e 45 premium LEDs deliver broad 365nm + 405nm coverage for fast, even curing across compatible gel systems.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eThree standard cure times:\u003c\/strong\u003e Choose from 30-, 60-, or 90-second settings to accommodate different services and formulas.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLow Heat comfort:\u003c\/strong\u003e L30, L60, and L90 modes reduce power output by 65% to help minimize heat spikes.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTouch-free efficiency:\u003c\/strong\u003e Automatic hand sensing begins a 60-second cure without requiring a button press.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBuilt for salon realities:\u003c\/strong\u003e The UV-coated exterior resists scratches and acetone exposure during everyday professional use.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCompact station footprint:\u003c\/strong\u003e A smaller, lightweight design leaves more room for the tools and products your services require.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSteady corded performance:\u003c\/strong\u003e Consistent 36W output without pausing to re
1631charge.\u003cbr\u003e\u003cbr\u003e\n\u003ch3 class=\"text-[20px] leading-[26px] uppercase !font-elza !text-left !text-base !normal-case\"\u003eApplications\u003c\/h3\u003e\n\u003cdiv\u003e\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"22\" height=\"22\" viewbox=\"0 0 22 22\" fill=\"none\" class=\"w-3 h-3\"\u003e\u003cpath d=\"M21.1025 10C21.6067 10.0513 22 10.4774 22 10.9951C22 11.5128 21.6067 11.9389 21.1025 11.9902L21 11.9951H1C0.447715 11.9951 0 11.5474 0 10.9951C0 10.4428 0.447715 9.99512 1 9.99512H21L21.1025 10Z\" fill=\"black\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"overflow-hidden mb-[20px]\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"prose prose-sm md:prose-base text-[#191919] font-elza\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eSTANDARD CURING\u003c\/strong\u003e\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003eConnect the Mini Nova to the included power adapter and switch on the lamp.\u003c\/li\u003e\n\u003cli\u003ePlace the client's hand fully inside the lamp, following the hand-placement guide for even light exposure.\u003c\/li\u003e\n\u003cli\u003eSelect the appropriate 30-, 60-, or 90-second timer according to the gel product's curing instructions.\u003c\/li\u003e\n\u003cli\u003eRemove the hand once the curing cycle is complete.\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp\u003e\u003cstrong\u003eAUTOMATIC SENSING MODE\u003c\/strong\u003e\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003eInsert the hand fully into the lamp.\u003c\/li\u003e\n\u003cli\u003eThe sensor will automatically begin a 60-second curing cycle.\u003c\/li\u003e\n\u003cli\u003eRemove the hand when the cycle is complete.\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp\u003e\u003cstrong\u003eLOW HEAT MODE\u003c\/strong\u003e\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003eSelect LOW HEAT with the desired 30-, 60-, or 90-second timer.\u003c\/li\u003e\n\u003cli\u003eThe display will show L30, L60, or L90.\u003c\/li\u003e\n\u003cli\u003eLow Heat mode reduces power output by 65% to help minimize heat spikes during curing.\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp\u003e\u003cstrong\u003eIMPORTANT:\u003c\/strong\u003e Low Heat mode is designed to improve client comfort. Always follow the cure time specified for the gel product being used.\u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch3 class=\"text-[20px] leading-[26px] uppercase !font-elza !text-left !text-base !normal-case\"\u003eRecommendations\u003c\/h3\u003e\n\u003cdiv\u003e\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"22\" height=\"22\" viewbox=\"0 0 22 22\" fill=\"none\" class=\"w-3 h-3\"\u003e\u003cpath d=\"M21.1025 10C21.6067 10.0513 22 10.4774 22 10.9951C22 11.5128 21.6067 11.9389 21.1025 11.9902L21 11.9951H1C0.447715 11.9951 0 11.5474 0 10.9951C0 10.4428 0.447715 9.99512 1 9.99512H21L21.1025 10Z\" fill=\"black\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"overflow-hidden mb-[20px]\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"prose prose-sm md:prose-base text-[#191919] font-elza\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eAlways follow the curing instructions provided with the specific gel system or product.\u003c\/li\u003e\n\u003cli\u003ePlace the entire hand inside the lamp and confirm that all five nails receive direct light exposure.\u003c\/li\u003e\n\u003cli\u003eUse Low Heat mode for heat-sensitive clients or gels that may produce a stronger exothermic reaction.\u003c\/li\u003e\n\u003cli\u003eKeep the lamp connected to its included adapter during use. Mini Nova is corded and does not contain a rechargeable battery.\u003c\/li\u003e\n\u003cli\u003eDisconnect the lamp from power before cleaning.\u003c\/li\u003e\n\u003cli\u003eClean only according to the product manual. Do not immerse the lamp, adapter, or power cord in liquid.\u003c\/li\u003e\n\u003cli\u003eStore in a clean, dry environment away from excessive heat and direct sunlight.\u003c\/li\u003e\n\u003cli\u003eRegister the lamp at apresnail.com\/warranty-registration to activate the applicable limited warranty.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cbr\u003e\u003cstrong\u003eProduct:\u003c\/strong\u003e\u003cspan\u003e Mini Nova LED Lamp\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eAvailable Colors:\u003c\/strong\u003e\u003cspan\u003e White and Black\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eDimensions:\u003c\/strong\u003e\u003cspan\u003e 200 à 239 à 87 mm\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eWeight:\u003c\/strong\u003e\u003cspan\u003e 1.762 lbs\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003ePower Output:\u003c\/strong\u003e\u003cspan\u003e 36W\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eLED Array:\u003c\/strong\u003e\u003cspan\u003e 45 premium LED bulbs\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eWavelengths:\u003c\/strong\u003e\u003cspan\u003e 365nm + 405nm\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eStandard Timers:\u003c\/strong\u003e\u003cspan\u003e 30 \/ 60 \/ 90 seconds\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eLow Heat Timers:\u003c\/strong\u003e\u003cspan\u003e L30 \/ L60 \/ L90\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eLow Heat Output:\u003c\/strong\u003e\u003cspan\u003e 65% reduced power\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eAutomatic Sensor:\u003c\/strong\u003e\u003cspan\u003e 60-second curing cycle\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eDisplay:\u003c\/strong\u003e\u003cspan\u003e Digital touch display\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003ePower Type:\u003c\/strong\u003e\u003cspan\u003e Corded\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eAdapter Output:\u003c\/strong\u003e\u003cspan\u003e 24V \/ 1.5A\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eAC Input:\u003c\/strong\u003e\u003cspan\u003e 100â240V, 50\/60Hz\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eExterior Finish:\u003c\/strong\u003e\u003cspan\u003e UV-coated; scratch- and acetone-resistant\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eCertifications:\u003c\/strong\u003e\u003cspan\u003e CE and RoHS\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eAdapter Certification:\u003c\/strong\u003e\u003cspan\u003e UL-certified\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eWarranty:\u003c\/strong\u003e\u003cspan\u003e One-year limited warranty; registration required\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eUse:\u003c\/strong\u003e\u003cspan\u003e Professional use only\u003c\/span\u003e\u003cbr\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cem\u003e\u003c\/em\u003e\u003c\/strong\u003e\u003cbr\u003e\u003c\/p\u003e","published_at":"2026-10-08T11:13:12+01:00","created_at":"2026-10-06T16:07:43+01:00","vendor":"APRES","type":"","tags":["New In"],"price":9995,"price_min":9995,"price_max":9995,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":54916494557530,"title":"Black","option1":"Black","option2":null,"option3":null,"sku":"AP-NOVA-MINI-B","requires_shipping":true,"taxable":true,"featured_image":{"id":75001196314970,"product_id":11020550406490,"position":1,"created_at":"2026-10-06T16:12:21+01:00","updated_at":"2026-10-06T16:12:24+01:00","alt":null,"width":2000,"height":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544","variant_ids":[54916494557530]},"available":true,"name":"Aprés Mini Nova Led Lamp - Black","public_title":"Black","options":["Black"],"price":9995,"weight":1100,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":62492790292826,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":54916494590298,"title":"White","option1":"White","option2":null,"option3":null,"sku":"AP-NOVA-MINI-W","requires_shipping":true,"taxable":true,"featured_image":{"id":75001201885530,"product_id":11020550406490,"position":7,"created_at":"2026-10-06T16:13:23+01:00","updated_at":"2026-10-06T16:13:26+01:00","alt":null,"width":2000,"height":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_White-01.jpg?v=1791299606","variant_ids":[54916494590298]},"available":true,"name":"Aprés Mini Nova Led Lamp - White","public_title":"White","options":["White"],"price":9995,"weight":1100,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":62492795863386,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_White-01.jpg?v=1791299606"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544","\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545","\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545","\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545","\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546","\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545","\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_White-01.jpg?v=1791299606","\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545","\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544"],"featured_image":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544","options":["Colour"],"media":[{"alt":null,"id":62492790292826,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544","width":2000},{"alt":null,"id":62492790358362,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545","width":2000},{"alt":null,"id":62492790423898,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545","width":2000},{"alt":null,"id":62492790489434,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545","width":2000},{"alt":null,"id":62492790522202,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546","width":2000},{"alt":null,"id":62492790456666,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545","width":2000},{"alt":null,"id":62492795863386,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_White-01.jpg?v=1791299606"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_White-01.jpg?v=1791299606","width":2000},{"alt":null,"id":62492790325594,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545","width":2000},{"alt":null,"id":62492790260058,"position":9,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544","width":2000}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003e\u003cstrong\u003eHigh Standards. Mini Nova.\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eThe Mini Nova LED Lamp brings professional Aprés performance to a compact, salon-ready design at $99.99. Built with 45 premium dual-wavelength LEDs, it delivers broad 365nm + 405nm coverage to supp
1631ort fast, even curing across compatible gel systems.\u003c\/p\u003e\n\u003cp\u003eChoose from 30-, 60-, or 90-second curing times, or activate Low Heat mode to reduce power output by 65% and help minimize heat spikes. Automatic hand sensing starts a 60-second cure as soon as a hand enters the lamp, keeping services moving with one less button to press.\u003c\/p\u003e\n\u003cp\u003eA removable gold-colored metal base simplifies cleaning, while the UV-coated exterior resists scratches and acetone exposure from everyday salon use. Compact, lightweight, and equipped with a built-in handle, Mini Nova fits naturally into first stations, and growing salons.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eProfessional essentials. A more attainable investment.\u003cbr\u003e\u003cbr\u003e\u003cem\u003eFor Professional Use Only\u003cbr\u003e\u003cbr\u003e\u003c\/em\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003ch3 class=\"text-[20px] leading-[26px] uppercase !font-elza !text-left !text-base !normal-case\"\u003eBenefits\u003c\/h3\u003e\n\u003cdiv\u003e\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"22\" height=\"22\" viewbox=\"0 0 22 22\" fill=\"none\" class=\"w-3 h-3\"\u003e\u003cpath d=\"M21.1025 10C21.6067 10.0513 22 10.4774 22 10.9951C22 11.5128 21.6067 11.9389 21.1025 11.9902L21 11.9951H1C0.447715 11.9951 0 11.5474 0 10.9951C0 10.4428 0.447715 9.99512 1 9.99512H21L21.1025 10Z\" fill=\"black\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"overflow-hidden mb-[20px]\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"prose prose-sm md:prose-base text-[#191919] font-elza\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eProfessional dual-wavelength curing:\u003c\/strong\u003e 45 premium LEDs deliver broad 365nm + 405nm coverage for fast, even curing across compatible gel systems.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eThree standard cure times:\u003c\/strong\u003e Choose from 30-, 60-, or 90-second settings to accommodate different services and formulas.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLow Heat comfort:\u003c\/strong\u003e L30, L60, and L90 modes reduce power output by 65% to help minimize heat spikes.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTouch-free efficiency:\u003c\/strong\u003e Automatic hand sensing begins a 60-second cure without requiring a button press.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBuilt for salon realities:\u003c\/strong\u003e The UV-coated exterior resists scratches and acetone exposure during everyday professional use.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCompact station footprint:\u003c\/strong\u003e A smaller, lightweight design leaves more room for the tools and products your services require.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSteady corded performance:\u003c\/strong\u003e Consistent 36W output without pausing to recharge.\u003cbr\u003e\u003cbr\u003e\n\u003ch3 class=\"text-[20px] leading-[26px] uppercase !font-elza !text-left !text-base !normal-case\"\u003eApplications\u003c\/h3\u003e\n\u003cdiv\u003e\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"22\" height=\"22\" viewbox=\"0 0 22 22\" fill=\"none\" class=\"w-3 h-3\"\u003e\u003cpath d=\"M21.1025 10C21.6067 10.0513 22 10.4774 22 10.9951C22 11.5128 21.6067 11.9389 21.1025 11.9902L21 11.9951H1C0.447715 11.9951 0 11.5474 0 10.9951C0 10.4428 0.447715 9.99512 1 9.99512H21L21.1025 10Z\" fill=\"black\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"overflow-hidden mb-[20px]\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"prose prose-sm md:prose-base text-[#191919] font-elza\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eSTANDARD CURING\u003c\/strong\u003e\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003eConnect the Mini Nova to the included power adapter and switch on the lamp.\u003c\/li\u003e\n\u003cli\u003ePlace the client's hand fully inside the lamp, following the hand-placement guide for even light exposure.\u003c\/li\u003e\n\u003cli\u003eSelect the appropriate 30-, 60-, or 90-second timer according to the gel product's curing instructions.\u003c\/li\u003e\n\u003cli\u003eRemove the hand once the curing cycle is complete.\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp\u003e\u003cstrong\u003eAUTOMATIC SENSING MODE\u003c\/strong\u003e\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003eInsert the hand fully into the lamp.\u003c\/li\u003e\n\u003cli\u003eThe sensor will automatically begin a 60-second curing cycle.\u003c\/li\u003e\n\u003cli\u003eRemove the hand when the cycle is complete.\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp\u003e\u003cstrong\u003eLOW HEAT MODE\u003c\/strong\u003e\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003eSelect LOW HEAT with the desired 30-, 60-, or 90-second timer.\u003c\/li\u003e\n\u003cli\u003eThe display will show L30, L60, or L90.\u003c\/li\u003e\n\u003cli\u003eLow Heat mode reduces power output by 65% to help minimize heat spikes during curing.\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp\u003e\u003cstrong\u003eIMPORTANT:\u003c\/strong\u003e Low Heat mode is designed to improve client comfort. Always follow the cure time specified for the gel product being used.\u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch3 class=\"text-[20px] leading-[26px] uppercase !font-elza !text-left !text-base !normal-case\"\u003eRecommendations\u003c\/h3\u003e\n\u003cdiv\u003e\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"22\" height=\"22\" viewbox=\"0 0 22 22\" fill=\"none\" class=\"w-3 h-3\"\u003e\u003cpath d=\"M21.1025 10C21.6067 10.0513 22 10.4774 22 10.9951C22 11.5128 21.6067 11.9389 21.1025 11.9902L21 11.9951H1C0.447715 11.9951 0 11.5474 0 10.9951C0 10.4428 0.447715 9.99512 1 9.99512H21L21.1025 10Z\" fill=\"black\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"overflow-hidden mb-[20px]\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"prose prose-sm md:prose-base text-[#191919] font-elza\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eAlways follow the curing instructions provided with the specific gel system or product.\u003c\/li\u003e\n\u003cli\u003ePlace the entire hand inside the lamp and confirm that all five nails receive direct light exposure.\u003c\/li\u003e\n\u003cli\u003eUse Low Heat mode for heat-sensitive clients or gels that may produce a stronger exothermic reaction.\u003c\/li\u003e\n\u003cli\u003eKeep the lamp connected to its included adapter during use. Mini Nova is corded and does not contain a rechargeable battery.\u003c\/li\u003e\n\u003cli\u003eDisconnect the lamp from power before cleaning.\u003c\/li\u003e\n\u003cli\u003eClean only according to the product manual. Do not immerse the lamp, adapter, or power cord in liquid.\u003c\/li\u003e\n\u003cli\u003eStore in a clean, dry environment away from excessive heat and direct sunlight.\u003c\/li\u003e\n\u003cli\u003eRegister the lamp at apresnail.com\/warranty-registration to activate the applicable limited warranty.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cbr\u003e\u003cstrong\u003eProduct:\u003c\/strong\u003e\u003cspan\u003e Mini Nova LED Lamp\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eAvailable Colors:\u003c\/strong\u003e\u003cspan\u003e White and Black\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eDimensions:\u003c\/strong\u003e\u003cspan\u003e 200 à 239 à 87 mm\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eWeight:\u003c\/strong\u003e\u003cspan\u003e 1.762 lbs\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003ePower Output:\u003c\/strong\u003e\u003cspan\u003e 36W\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eLED Array:\u003c\/strong\u003e\u003cspan\u003e 45 premium LED bulbs\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eWavelengths:\u003c\/strong\u003e\u003cspan\u003e 365nm + 405nm\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eStandard Timers:\u003c\/strong\u003e\u003cspan\u003e 30 \/ 60 \/ 90 seconds\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eLow Heat Timers:\u003c\/strong\u003e\u003cspan\u003e L30 \/ L60 \/ L90\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eLow Heat Output:\u003c\/strong\u003e\u003cspan\u003e 65% reduced power\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eAutomatic Sensor:\u003c\/strong\u003e\u003cspan\u003e 60-second curing cycle\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eDisplay:\u003c\/strong\u003e\u003cspan\u003e Digital touch display\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003ePower Type:\u003c\/strong\u003e\u003cspan\u003e Corded\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eAdapter Output:\u003c\/strong\u003e\u003cspan\u003e 24V \/ 1.5A\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eAC Input:\u003c\/strong\u003e\u003cspan\u003e 100â240V, 50\/60Hz\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eExterior Finish:\u003c\/strong\u003e\u003cspan\u003e UV-coated; scratch- and acetone-resistant\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eCertifications:\u003c\/strong\u003e\u003cspan\u003e CE and RoHS\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eAdapter Certification:\u003c\/strong\u003e\u003cspan\u003e UL-certified\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eWarranty:\u003c\/strong\u003e\u003cspan\u003e One-year limited warranty; registration required\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eUse:\u003c\/strong\u003e\u003cspan\u003e Professional use only\u003c\/span\u003e\u003cbr\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cem\u003e\u003c\/em\u003e\u003c\/strong\u003e\u003cbr\u003e\u003c\/p\u003e"}; 1632 Samita.Countdowns.product.collections =[670949638490,670952161626,670951145818,672830783834,673110819162,670951113050,670956454234]; 1633 Samita.Countdowns.product.variants = [{ 1634 "id":54916494557530, 1635 "title":"Black", 1636 "name":"null", 1637 "compare_at_price":null, 1638 "price":9995, 1639 "available":true, 1640 "weight":"1100", 1641 "sku":"AP-NOVA-MINI-B", 1642 "inventory_quantity":8},{ 1643 "id":54916494590298, 1644 "title":"White", 1645 "name":"null", 1646 "compare_at_price":null, 1647 "price":9995, 1648 "available":true, 1649 "weight":"1100", 1650 "sku":"AP-NOVA-MINI-W", 1651 "inventory_quantity":8}]; 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 if (typeof Shopify!= "undefined" && Shopify?.theme?.id == 190369366362) { 1669 Samita.Countdowns.themeInfo = {"id":190369366362,"name":"tnbl_shopify/dev_branch","role":"main","theme_store_id":null,"theme_name":"Horizon","theme_version":"3.2.1"} 1670 } 1671 1672 1673 1674 1675 1676 if (typeof Shopify!= "undefined" && Shopify?.theme?.id == 190369366362) { 1677 Samita.Countdowns.theme = {"selectors":{"product":{"elementSelectors":[".product-top",".Product",".product-detail",".product-page-container","#ProductSection-product-template","#shopify-section-product-template",".product:not(.featured-product,.slick-slide)",".product-main",".grid:not
1677(.product-grid,.sf-grid,.featured-product)",".grid.product-single","#__pf",".gfqv-product-wrapper",".ga-product",".t4s-container",".gCartItem, .flexRow.noGutter, .cart__row, .line-item, .cart-item, .cart-row, .CartItem, .cart-line-item, .cart-table tbody tr, .container-indent table tbody tr"],"notShowCustomBlocks":".variant-swatch__item,.swatch-element,.fera-productReviews-review,share-button,.hdt-variant-picker,.col-story-block,.lightly-spaced-row","link":"[samitaPL-product-link], h3[data-href*=\"/products/\"], div[data-href*=\"/products/\"], a[data-href*=\"/products/\"], a.product-block__link[href*=\"/products/\"], a.indiv-product__link[href*=\"/products/\"], a.thumbnail__link[href*=\"/products/\"], a.product-item__link[href*=\"/products/\"], a.product-card__link[href*=\"/products/\"], a.product-card-link[href*=\"/products/\"], a.product-block__image__link[href*=\"/products/\"], a.stretched-link[href*=\"/products/\"], a.grid-product__link[href*=\"/products/\"], a.product-grid-item--link[href*=\"/products/\"], a.product-link[href*=\"/products/\"], a.product__link[href*=\"/products/\"], a.full-unstyled-link[href*=\"/products/\"], a.grid-item__link[href*=\"/products/\"], a.grid-product__link[href*=\"/products/\"], a[data-product-page-link][href*=\"/products/\"], a[href*=\"/products/\"]:not(.logo-bar__link,.ButtonGroup__Item.Button,.menu-promotion__link,.site-nav__link,.mobile-nav__link,.hero__sidebyside-image-link,.announcement-link,.breadcrumbs-list__link,.single-level-link,.d-none,.icon-twitter,.icon-facebook,.icon-pinterest,#btn,.list-menu__item.link.link--tex,.btnProductQuickview,.index-banner-slides-each,.global-banner-switch,.sub-nav-item-link,.announcement-bar__link,.Carousel__Cell,.Heading,.facebook,.twitter,.pinterest,.loyalty-redeem-product-title,.breadcrumbs__link,.btn-slide,.h2m-menu-item-inner--sub,.glink,.announcement-bar__link,.ts-link)","signal":"[data-product-handle], [data-product-id]","notSignal":":not([data-section-id=\"product-recommendations\"],[data-section-type=\"product-recommendations\"],#product-area,#looxReviews)","priceSelectors":[".product-option .cvc-money","#ProductPrice-product-template",".product-block--price",".price-list","#ProductPrice",".product-price",".product__priceâreg","#productPrice-product-template",".product__current-price",".product-thumb-caption-price-current",".product-item-caption-price-current",".grid-product__price,.product__price","span.price","span.product-price",".productitem--price",".product-pricing","div.price","span.money",".product-item__price",".product-list-item-price","p.price",".product-meta__prices","div.product-price","span#price",".price.money","h3.price","a.price",".price-area",".product-item-price",".pricearea",".collectionGrid .collectionBlock-info > p","#ComparePrice",".product--price-wrapper",".product-page--price-wrapper",".color--shop-accent.font-size--s.t--meta.f--main",".ComparePrice",".ProductPrice",".prodThumb .title span:last-child",".price",".product-single__price-product-template",".product-info-price",".price-money",".prod-price","#price-field",".product-grid--price",".prices,.pricing","#product-price",".money-styling",".compare-at-price",".product-item--price",".card__price",".product-card__price",".product-price__price",".product-item__price-wrapper",".product-single__price",".grid-product__price-wrap","a.grid-link p.grid-link__meta",".product__prices","#comparePrice-product-template","dl[class*=\"price\"]","div[class*=\"price\"]",".gl-card-pricing",".ga-product_price-container"],"titleSelectors":[".prod-title",".product-block--title",".product-info__title",".product-thumbnail__title",".product-card__title","div.product__title",".card__heading.h5",".cart-item__name.h4",".spf-product-card__title.h4",".gl-card-title",".ga-product_title"],"imageSelectors":["img.rimage__image",".grid_img",".imgWrapper > img",".gitem-img",".card__media img",".image__inner img",".snize-thumbnail",".zoomImg",".spf-product-card__image",".boost-pfs-filter-product-item-main-image",".pwzrswiper-slide > img",".product__image-wrapper img",".grid__image-ratio",".product__media img",".AspectRatio > img",".product__media img",".rimage-wrapper > img",".ProductItem__Image",".img-wrapper img",".aspect-ratio img",".product-card__image-wrapper > .product-card__image",".ga-products_image img",".image__container",".image-wrap .grid-product__image",".boost-sd__product-image img",".box-ratio > img",".image-cell img.card__image","img[src*=\"cdn.shopify.com\"][src*=\"/products/\"]","img[srcset*=\"cdn.shopify.com\"][srcset*=\"/products/\"]","img[data-srcset*=\"cdn.shopify.com\"][data-srcset*=\"/products/\"]","img[data-src*=\"cdn.shopify.com\"][data-src*=\"/products/\"]","img[data-srcset*=\"cdn.shopify.com\"][data-srcset*=\"/products/\"]","img[srcset*=\"cdn.shopify.com\"][src*=\"no-image\"]",".product-card__image > img",".product-image-main .image-wrap",".grid-product__image",".media > img","img[srcset*=\"cdn/shop/products/\"]","[data-bgset*=\"cdn.shopify.com\"][data-bgset*=\"/products/\"] > [data-bgset*=\"cdn.shopify.com\"][data-bgset*=\"/products/\"]","[data-bgset*=\"cdn.shopify.com\"][data-bgset*=\"/products/\"]","img[src*=\"cdn.shopify.com\"][src*=\"no-image\"]","img[src*=\"cdn/shop/products/\"]",".ga-product_image",".gfqv-product-image"],"media":".card__inner,.spf-product-card__inner","soldOutBadge":".tag.tag--rectangle, .grid-product__tag--sold-out","paymentButton":".shopify-payment-button, .product-form--smart-payment-buttons, .lh-wrap-buynow, .wx-checkout-btn","formSelectors":["product-form form.form","form.product-form","form.product_form",".main-product-form","form.t4s-form__product",".product-single__form",".shopify-product-form","#shopify-section-product-template form[action*=\"/cart/add\"]","form[action*=\"/cart/add\"]:not(.form-card)",".ga-products-table li.ga-product",".pf-product-form"],"variantActivator":".product__swatches [data-swatch-option], .swatch-view-item, variant-radios input, .swatch__container .swatch__option, .gf_swatches .gf_swatch, .product-form__controls-group-options select, ul.clickyboxes li, .pf-variant-select, ul.swatches-select li, .product-options__value, .form-check-swatch, button.btn.swatch select.product__variant, .pf-container a, button.variant.option, ul.js-product__variant--container li, .variant-input, .product-variant > ul > li ,.input--dropdown, .HorizontalList > li, .product-single__swatch__item, .globo-swatch-list ul.value > .select-option, .form-swatch-item, .selector-wrapper select, select.pf-input, ul.swatches-select > li.nt-swatch.swatch_pr_item, ul.gfqv-swatch-values > li, .lh-swatch-select, .swatch-image, .variant-image-swatch, #option-size, .selector-wrapper .replaced, .regular-select-content > .regular-select-item, .radios--input, ul.swatch-view > li > .swatch-selector ,.single-option-selector, .swatch-element input, [data-product-option], .single-option-selector__radio, [data-index^=\"option\"], .SizeSwatchList input, .swatch-panda input[type=radio], .swatch input, .swatch-element input[type=radio], select[id*=\"product-select-\"], select[id|=\"product-select-option\"], [id|=\"productSelect-product\"], [id|=\"ProductSelect-option\"],select[id|=\"product-variants-option\"],select[id|=\"sca-qv-product-selected-option\"],select[id*=\"product-variants-\"],select[id|=\"product-selectors-option\"],select[id|=\"variant-listbox-option\"],select[id|=\"id-option\"],select[id|=\"SingleOptionSelector\"], .variant-input-wrap input, [data-action=\"select-value\"]","variant":".variant-selection__variants, .product-variant-id, .product-form__variants, .ga-product_variant_select, select[name=\"id\"], input[name=\"id\"], .qview-variants > select, select[name=\"id[]\"]","variantIdByAttribute":"swatch-current-variant","quantity":".gInputElement, [name=\"qty\"], [name=\"quantity\"]","quantityWrapper":"#Quantity, input.quantity-selector.quantity-input, [data-quantity-input-wrapper], .product-form__quantity-selector, .product-form__item--quantity, .ProductForm__QuantitySelector, .quantity-product-template, .product-qty, .qty-selection, .product__quantity, .js-qty__num","productAddToCartBtnSelectors":[".samita-cu
1677stom-button-atc","#AddToCart",".product-form__cart-submit",".add-to-cart-btn",".product__add-to-cart-button","#AddToCart--product-template","#addToCart","#AddToCart-product-template","#AddToCart",".add_to_cart",".product-form--atc-button","#AddToCart-product",".AddtoCart","button.btn-addtocart",".product-submit","[name=\"add\"]","[type=\"submit\"]",".product-form__add-button",".product-form--add-to-cart",".btn--add-to-cart",".button-cart",".action-button > .add-to-cart","button.btn--tertiary.add-to-cart",".form-actions > button.button",".gf_add-to-cart",".zend_preorder_submit_btn",".gt_button",".wx-add-cart-btn",".previewer_add-to-cart_btn > button",".qview-btn-addtocart",".ProductForm__AddToCart",".button--addToCart","#AddToCartDesk","[data-pf-type=\"ProductATC\"]"],"customAddEl":{"productPageSameLevel":true,"collectionPageSameLevel":true,"cartPageSameLevel":false},"collection":{"positionBadgeImageWrapper":"","positionBadgeTitleWrapper":"","positionBadgePriceWrapper":"","notElClass":["cart-items","cart-item-list__body","product-list","samitaPL-card-list","cart-items-con","boost-pfs-search-suggestion-group","collection","pf-slide","boost-sd__cart-body","boost-sd__product-list","snize-search-results-content","productGrid","footer__links","header__links-list","cartitems--list","Cart__ItemList","minicart-list-prd","mini-cart-item","mini-cart__line-item-list","grid","products","ajax-cart__form","hero__link","collection__page-products","cc-filters-results","footer-sect","collection-grid","card-list","page-width","collection-template","mobile-nav__sublist","product-grid","site-nav__dropdown","search__results","product-recommendations","faq__wrapper","section-featured-product","announcement_wrapper","cart-summary-item-container","cart-drawer__line-items","product-quick-add","cart__items","rte","m-cart-drawer__items","scd__items"]},"quickView":{"activator":"a.quickview-icon.quickview, .qv-icon, .previewer-button, .sca-qv-button, .product-item__action-button[data-action=\"open-modal\"], .boost-pfs-quickview-btn, .collection-product[data-action=\"show-product\"], button.product-item__quick-shop-button, .product-item__quick-shop-button-wrapper, .open-quick-view, .product-item__action-button[data-action=\"open-modal\"], .tt-btn-quickview, .product-item-quick-shop .available, .quickshop-trigger, .productitem--action-trigger:not(.productitem--action-atc), .quick-product__btn, .thumbnail, .quick_shop, a.sca-qv-button, .overlay, .quick-view, .open-quick-view, [data-product-card-link], a[rel=\"quick-view\"], a.quick-buy, div.quickview-button > a, .block-inner a.more-info, .quick-shop-modal-trigger, a.quick-view-btn, a.spo-quick-view, div.quickView-button, a.product__label--quick-shop, span.trigger-quick-view, a.act-quickview-button, a.product-modal, [data-quickshop-full], [data-quickshop-slim], [data-quickshop-trigger]","productForm":".qv-form, .qview-form, .description-wrapper_content, .wx-product-wrapper, #sca-qv-add-item-form, .product-form, #boost-pfs-quickview-cart-form, .product.preview .shopify-product-form, .product-details__form, .gfqv-product-form, #ModalquickView form#modal_quick_view, .quick-shop-modal form[action*=\"/cart/add\"], #quick-shop-modal form[action*=\"/cart/add\"], .white-popup.quick-view form[action*=\"/cart/add\"], .quick-view form[action*=\"/cart/add\"], [id*=\"QuickShopModal-\"] form[action*=\"/cart/add\"], .quick-shop.active form[action*=\"/cart/add\"], .quick-view-panel form[action*=\"/cart/add\"], .content.product.preview form[action*=\"/cart/add\"], .quickView-wrap form[action*=\"/cart/add\"], .quick-modal form[action*=\"/cart/add\"], #colorbox form[action*=\"/cart/add\"], .product-quick-view form[action*=\"/cart/add\"], .quickform, .modal--quickshop-full, .modal--quickshop form[action*=\"/cart/add\"], .quick-shop-form, .fancybox-inner form[action*=\"/cart/add\"], #quick-view-modal form[action*=\"/cart/add\"], [data-product-modal] form[action*=\"/cart/add\"], .modal--quick-shop.modal--is-active form[action*=\"/cart/add\"]","appVariantActivator":".previewer_options","appVariantSelector":".full_info, [data-behavior=\"previewer_link\"]","appButtonClass":["sca-qv-cartbtn","qview-btn","btn--fill btn--regular"]}},"cart":{"form":["cart-items > .page-width","cart-items.page-width","[samitaWS-checkout-form]","cart-form",".ajax-cart__form-wrapper","#CartPage form[action*=\"/cart\"]",".cart-wrapper form[action*=\"/cart\"]",".main-content-inner form[action=\"/cart\"]",".main-content form[action=\"/cart\"]","[data-section-id=\"cart-template\"] form[action*=\"/cart\"]","cart-items form[action*=\"/cart\"]","form#updateform","form#cartForm","form[action*=\"/cart\"]#cartform",".page-content form[action*=\"/cart\"]","form[action*=\"/cart\"]:not([action*=\"/cart/add\"]):not([hidden])","#cart-notification-form"],"drawerForm":["[samitaWS-drawer-form]","#CartDrawer .drawer__inner","div#CartDrawer-Overlay .drawer__inner","#cart-notification-form"]}},"integrateApps":["globo.relatedproduct.loaded","globoFilterQuickviewRenderCompleted","globoFilterRenderSearchCompleted","globoFilterRenderCompleted","globoRelatedBuildWidgetCalback","cart:open","cartdrawer:opened","cart:build","cart:quantity.cart-cart-drawer","cart:updated","cart:close","collectionUpdate","theme:drawer:toggle","theme:drawer:close","theme:drawer:open","cart-update","addwishlistitem","transitionend"],"timeOut":1500} 1678 } 1679 1680 1681 1682 Samita.Countdowns.dataCountdowns = []; 1683 1684 1685 1686 1687 1688 1689 Samita.Countdowns.dataCountdowns[11486] = {"11486":{"id":11486,"type":"delivery","countdown_configs":{"timer":{"holidays":["2026-01-01"],"date_range":{"delivery":{"days":["mon","tue","wed","thu","fri"],"values":[2,5]},"dispatched":{"days":["mon","tue","wed","thu","fri"],"values":[0,1]}
1689,"cutoff_time":{"type":false,"custom":[{"hours":23,"minutes":59},{"hours":"11","minutes":59},{"hours":"11","minutes":59},{"hours":"11","minutes":59},{"hours":"11","minutes":59},{"hours":"11","minutes":59},{"hours":23,"minutes":59}],"default":{"hours":23,"minutes":59},"delivery":[{"day":"sun","cutoff":{"end_time":{"hours":23,"minutes":59},"start_time":{"hours":"0","minutes":"0"}}},{"day":"mon","cutoff":{"end_time":{"hours":"11","minutes":59},"start_time":{"hours":"0","minutes":"0"}}},{"day":"tue","cutoff":{"end_time":{"hours":"11","minutes":59},"start_time":{"hours":"0","minutes":"0"}}},{"day":"wed","cutoff":{"end_time":{"hours":"11","minutes":59},"start_time":{"hours":"0","minutes":"0"}}},{"day":"thu","cutoff":{"end_time":{"hours":"11","minutes":59},"start_time":{"hours":"0","minutes":"0"}}},{"day":"fri","cutoff":{"end_time":{"hours":"11","minutes":59},"start_time":{"hours":"0","minutes":"0"}}},{"day":"sat","cutoff":{"end_time":{"hours":23,"minutes":59},"start_time":{"hours":"0","minutes":"0"}}}],"dispatched":[{"day":"sun","cutoff":{"end_time":{"hours":"11","minutes":59},"start_time":{"hours":"9","minutes":"0"}}},{"day":"mon","cutoff":{"end_time":{"hours":"11","minutes":59},"start_time":{"hours":"9","minutes":"0"}}},{"day":"tue","cutoff":{"end_time":{"hours":"11","minutes":59},"start_time":{"hours":"9","minutes":"0"}}},{"day":"wed","cutoff":{"end_time":{"hours":"11","minutes":59},"start_time":{"hours":"9","minutes":"0"}}},{"day":"thu","cutoff":{"end_time":{"hours":"11","minutes":59},"start_time":{"hours":"9","minutes":"0"}}},{"day":"fri","cutoff":{"end_time":{"hours":"11","minutes":59},"start_time":{"hours":"9","minutes":"0"}}},{"day":"sat","cutoff":{"end_time":{"hours":"11","minutes":59},"start_time":{"hours":"9","minutes":"0"}}}]},"date_format":"MMM DD","time_format":"1"}},"design":{"layout":"mes_progress","content":{"items":[{"lang":"default","content":"\u003cp\u003eð Free Shipping to \u003cspan style=\"color: rgb(48, 141, 84);\"\u003e\u003cstrong\u003e{country_flag} {country_name}\u003c\/strong\u003e\u003c\/span\u003e \u003cbr\u003eâ
Order within the next \u003cstrong\u003e\u003cspan style=\"color: rgb(48, 141, 84);\"\u003e{cutoff_time}\u003c\/span\u003e\u003c\/strong\u003e for delivery between \u003cspan style=\"color: rgb(241, 196, 15);\"\u003eð¥ \u003c\/span\u003e\u003cspan style=\"color: rgb(241, 196, 15);\"\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003cstrong\u003e\u003cspan style=\"color: rgb(48, 141, 84);\"\u003e{delivered_min_date} - {delivered_max_date}\u003c\/span\u003e\u003c\/strong\u003e \u003c\/span\u003eð¥\u003c\/span\u003e\u003c\/p\u003e","duration":10,"property":{"text":"Delivery between"},"template":"default"},{"lang":"en","content":"\u003cp style=\"text-align: center;\"\u003eOrder within the next \u003cspan class=\"samita-cutoff-time\" style=\"color: rgb(0, 0, 0);\"\u003e\u003cstrong\u003e{cutoff_time}\u003c\/strong\u003e\u003c\/span\u003e and select Express Shipping at checkout for delivery between \u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003cstrong\u003e{delivered_min_date} - {delivered_max_date}\u003c\/strong\u003e\u003c\/span\u003e\u003c\/p\u003e","duration":10,"property":{"text":"Delivery between","active":true},"template":"template4"},{"lang":"vi","content":"\u003cp\u003eð Free Shipping to \u003cspan style=\"color: rgb(48, 141, 84);\"\u003e\u003cstrong\u003e{country_flag} {country_name}\u003c\/strong\u003e\u003c\/span\u003e \u003cbr\u003eâ
Order within the next \u003cstrong\u003e\u003cspan style=\"color: rgb(48, 141, 84);\"\u003e{cutoff_time}\u003c\/span\u003e\u003c\/strong\u003e for delivery between \u003cspan style=\"color: rgb(241, 196, 15);\"\u003eð¥ \u003c\/span\u003e\u003cspan style=\"color: rgb(241, 196, 15);\"\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003cstrong\u003e\u003cspan style=\"color: rgb(48, 141, 84);\"\u003e{delivered_min_date} - {delivered_max_date}\u003c\/span\u003e\u003c\/strong\u003e \u003c\/span\u003eð¥\u003c\/span\u003e\u003c\/p\u003e","duration":10,"property":{"text":"Delivery between"}}]},"message":{"font":{"size":"14","values":[],"desSize":12,"iconSize":30,"titleSize":18,"customFont":false,"fontFamily":"Andika","fontVariant":"regular","customFontFamily":"Lato","customFontVariant":"400"}
1689,"size":{"value":"small","custom":{"width":"150","height":"150","setCaratWidth":"px","setCaratHeight":"px"}},"color":{"bgColor":{"a":1,"b":247,"g":237,"r":255},"textColor":{"a":1,"b":51,"g":51,"r":51},"borderColor":{"a":1,"b":0,"g":0,"r":0}},"border":{"size":"0","style":"solid","radius":"5"},"margin":{"top":"0","left":"0","right":"0","bottom":"0"},"shadow":false,"padding":{"top":"10","left":"10","right":"10","bottom":"10"}},"progress":{"font":{"size":"14","values":[],"desSize":13,"dateSize":12,"iconSize":30,"titleSize":13,"customFont":false,"fontFamily":"Andika","fontVariant":"regular","customFontFamily":"Lato","customFontVariant":"400"},"size":{"value":"small","custom":{"width":"150","height":"150","setCaratWidth":"px","setCaratHeight":"px"}},"color":{"bgColor":{"a":0,"b":255,"g":255,"r":255},"desColor":{"a":1,"b":0,"g":0,"r":0},"dateColor":{"a":1,"b":0,"g":0,"r":0},"iconColor":{"a":1,"b":0,"g":0,"r":0},"titleColor":{"a":1,"b":0,"g":0,"r":0},"borderColor":{"a":1,"b":255,"g":255,"r":255},"iconBgColor":{"a":1,"b":247,"g":237,"r":255},"lineBgColor":{"a":1,"b":247,"g":237,"r":255},"borderIconColor":{"a":1,"b":0,"g":0,"r":0}},"border":{"size":"0","style":"solid","radius":"5"},"margin":{"top":"0","left":"0","right":"0","bottom":"0"},"shadow":false,"padding":{"top":"20","left":"0","right":"0","bottom":"15"},"template":"template1"},"progress_bar":{"status":[{"lang":"default","ordered":{"icon":{"id":"icon_14","svg":"\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlnsXlink=\"http:\/\/www.w3.org\/1999\/xlink\" version=\"1.1\" height=\"40\" width=\"40\" id=\"Capa_1\" x=\"0px\" y=\"0px\" viewBox=\"0 0 612 612\" enableBackground=\"new 0 0 612 612\" xmlSpace=\"preserve\"\u003e\u003cg\u003e\u003cg\u003e\u003cg\u003e\u003cpath d=\"M608.126,124.457c-3.239-3.945-8.075-6.233-13.179-6.233H107.539L91.367,34.782c-1.555-8.018-8.577-13.81-16.743-13.81 h-57.57C7.633,20.972,0,28.608,0,38.026s7.633,17.054,17.054,17.054h43.501l73.439,384.296 c1.435,8.155,8.519,14.101,16.796,14.101h60.242c-32.342,5.858-56.956,34.204-56.956,68.21c0,38.233,31.106,69.34,69.34,69.34 c38.233,0,69.336-31.106,69.336-69.34c0-34.005-24.609-62.351-56.953-68.21h221.5c-32.344,5.858-56.959,34.204-56.959,68.21 c0,38.233,31.109,69.34,69.344,69.34c38.233,0,69.339-31.106,69.339-69.34c0-34.005-24.612-62.351-56.953-68.21h51.932 c9.418,0,17.054-7.636,17.054-17.054c0-9.42-7.636-17.054-17.054-17.054H165.109l-5.224-29.721h387.974 c8.142,0,15.144-5.752,16.73-13.736l47.086-237.314C612.667,133.591,611.365,128.403,608.126,124.457z M504.917,521.687 c0,19.426-15.805,35.23-35.23,35.23c-19.428,0-35.236-15.804-35.236-35.23c0-19.426,15.808-35.23,35.236-35.23 C489.112,486.458,504.917,502.26,504.917,521.687z M258.646,521.687c0,19.426-15.802,35.23-35.227,35.23 c-19.428,0-35.233-15.804-35.233-35.23c0-19.426,15.805-35.23,35.233-35.23C242.842,486.458,258.646,502.26,258.646,521.687z M153.539,355.539l-23.13-119.328h64.366l19.605,119.328H153.539z M327.099,355.539h-78.154l-19.605-119.328h97.76V355.539z M440.591,355.539h-79.384V236.212h96.513L440.591,355.539z M533.857,355.539H475.05l17.13-119.328h65.352L533.857,355.539z M564.299,202.104h-440.5l-9.648-49.77h460.025L564.299,202.104z\"\/\u003e\u003c\/g\u003e\u003c\/g\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003c\/svg\u003e"},"title":"Ordered","tooltip":null,"description":null},"delivered":{"icon":{"id":"icon_16","svg":"\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlnsXlink=\"http:\/\/www.w3.org\/1999\/xlink\" version=\"1.1\" id=\"Capa_1\" x=\"0px\" y=\"0px\" width=\"60\" height=\"60\" viewBox=\"0 0 38 38\" enableBackground=\"new 0 0 38 38\" xmlSpace=\"preserve\"\u003e\u003cg\u003e\u003cpath d=\"M19,0C11.096,0,4.666,6.43,4.666,14.333c0,11.379,12.796,22.81,13.341,23.292C18.292,37.875,18.646,38,19,38 c0.368,0,0.736-0.135,1.023-0.404c0.543-0.508,13.311-12.568,13.311-23.262C33.334,6.431,26.902,0,19,0z M19,21.168 c-3.775,0-6.834-3.061-6.834-6.833S15.225,7.502,19,7.502c3.773,0,6.832,3.06,6.832,6.833S22.773,21.168,19,21.168z\"\/\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003c\/svg\u003e"},"title":"Order Delivered","tooltip":null,"description":null}
1689,"dispatched":{"icon":{"id":"icon_29","svg":"\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlnsXlink=\"http:\/\/www.w3.org\/1999\/xlink\" version=\"1.1\" id=\"Layer_1\" x=\"0px\" y=\"0px\" width=\"40\" height=\"40\" viewBox=\"0 0 512 512\" enableBackground=\"new 0 0 512 512\" xmlSpace=\"preserve\"\u003e\n \u003cpath d=\"M497.081,14.933c-1.515-1.495-3.75-1.912-5.703-1.048L26.753,221.692c-6.771,3.027-11.623,9.185-12.947,16.471 c-1.355,7.286,0.978,14.769,6.206,20.006l100.095,100.095L392.792,111.76c1.009-0.93,2.585-0.89,3.563,0.088 c0.979,0.974,1.009,2.553,0.096,3.584L149.978,388.117l12.693,98.073c0.412,3.29,2.492,6.141,5.482,7.553 c3.027,1.425,8.979,0.101,11.059-2.492c11.658-14.422,32.234-42.187,32.234-42.187l42.376,42.906 c5.259,5.237,12.725,7.562,20.006,6.215c7.307-1.342,13.452-6.185,16.475-12.944L498.12,20.622 C499.002,18.692,498.563,16.429,497.081,14.933z\"\/\u003e\n \u003c\/svg\u003e"},"title":"Order Dispatched","status":true,"tooltip":null,"description":null}},{"lang":"en","ordered":{"icon":{"id":"icon_22","svg":"\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlnsXlink=\"http:\/\/www.w3.org\/1999\/xlink\" version=\"1.1\" id=\"Capa_1\" x=\"0px\" y=\"0px\" width=\"40\" height=\"40\" viewBox=\"0 0 406.215 406.215\" enableBackground=\"new 0 0 406.215 406.215\" xmlSpace=\"preserve\"\u003e\u003cg\u003e\u003cg\u003e\u003cg\u003e\u003cpath d=\"M226.793,243.186v163.029h134.115c17.431,0,31.568-14.129,31.568-31.57V243.186H226.793z\"\/\u003e\u003cpath d=\"M179.374,243.186H13.749v131.459c0,17.441,14.141,31.57,31.57,31.57h134.055V243.186z M56.788,373.086 c-6.545,0-11.855-5.311-11.855-11.854v-65.778c0-6.544,5.311-11.854,11.855-11.854s11.855,5.312,11.855,11.854v65.778 C68.643,367.775,63.333,373.086,56.788,373.086z\"\/\u003e\u003c\/g\u003e\u003cpath d=\"M371.176,119.564h-59.293c8.184-3.928,15.049-7.986,19.2-12.133c24.423-24.419,24.423-64.03,0-88.453 C318.857,6.768,302.85,0.664,286.844,0.664c-16.009,0-32.019,6.104-44.229,18.314c-10.141,10.144-19.897,35.182-27.862,60.983 c-3.72-1.021-7.549-1.736-11.577-1.736c-4.014,0-7.844,0.716-11.547,1.729c-7.996-26.034-17.844-51.412-28.08-61.641 C151.338,6.103,135.346,0,119.322,0c-16.008,0-32.016,6.104-44.227,18.313c-24.422,24.432-24.422,64.035,0,88.453 c4.369,4.388,11.73,8.679,20.562,12.798H35.038c-17.43,0-31.553,14.128-31.553,31.556v26.852c0,17.43,14.123,31.551,31.553,31.551 h144.336v-88.707h47.419v88.707h144.384c17.428,0,31.553-14.123,31.553-31.552v-26.852 C402.729,133.692,388.604,119.564,371.176,119.564z M264.971,41.332c5.834-5.838,13.612-9.057,21.873-9.057 c8.272,0,16.039,3.219,21.891,9.057c5.834,5.841,9.045,13.607,9.045,21.873s-3.211,16.031-9.016,21.835 c-6.531,6.161-32.107,15.76-63.725,24.701c-0.894-3.066-2.101-5.967-3.627-8.716C250.026,71.272,259.073,47.567,264.971,41.332z M97.448,40.668c5.836-5.834,13.615-9.053,21.875-9.053c8.273,0,16.039,3.211,21.857,9.037 c5.945,6.291,15.098,30.303,23.773,60.365c-1.436,2.577-2.576,5.296-3.473,8.158c-31.768-8.952-57.502-18.6-64.033-24.758 C85.391,72.353,85.391,52.732,97.448,40.668z\"\/\u003e\u003c\/g\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003c\/svg\u003e"},"title":"Ordered","tooltip":null,"description":null},"delivered":{"icon":{"id":"icon_16","svg":"\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlnsXlink=\"http:\/\/www.w3.org\/1999\/xlink\" version=\"1.1\" id=\"Capa_1\" x=\"0px\" y=\"0px\" width=\"60\" height=\"60\" viewBox=\"0 0 38 38\" enableBackground=\"new 0 0 38 38\" xmlSpace=\"preserve\"\u003e\u003cg\u003e\u003cpath d=\"M19,0C11.096,0,4.666,6.43,4.666,14.333c0,11.379,12.796,22.81,13.341,23.292C18.292,37.875,18.646,38,19,38 c0.368,0,0.736-0.135,1.023-0.404c0.543-0.508,13.311-12.568,13.311-23.262C33.334,6.431,26.902,0,19,0z M19,21.168 c-3.775,0-6.834-3.061-6.834-6.833S15.225,7.502,19,7.502c3.773,0,6.832,3.06,6.832,6.833S22.773,21.168,19,21.168z\"\/\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003c\/svg\u003e"},"title":"Order Delivered","tooltip":null,"description":null}
1689,"dispatched":{"icon":{"id":"icon_29","svg":"\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlnsXlink=\"http:\/\/www.w3.org\/1999\/xlink\" version=\"1.1\" id=\"Layer_1\" x=\"0px\" y=\"0px\" width=\"40\" height=\"40\" viewBox=\"0 0 512 512\" enableBackground=\"new 0 0 512 512\" xmlSpace=\"preserve\"\u003e\n \u003cpath d=\"M497.081,14.933c-1.515-1.495-3.75-1.912-5.703-1.048L26.753,221.692c-6.771,3.027-11.623,9.185-12.947,16.471 c-1.355,7.286,0.978,14.769,6.206,20.006l100.095,100.095L392.792,111.76c1.009-0.93,2.585-0.89,3.563,0.088 c0.979,0.974,1.009,2.553,0.096,3.584L149.978,388.117l12.693,98.073c0.412,3.29,2.492,6.141,5.482,7.553 c3.027,1.425,8.979,0.101,11.059-2.492c11.658-14.422,32.234-42.187,32.234-42.187l42.376,42.906 c5.259,5.237,12.725,7.562,20.006,6.215c7.307-1.342,13.452-6.185,16.475-12.944L498.12,20.622 C499.002,18.692,498.563,16.429,497.081,14.933z\"\/\u003e\n \u003c\/svg\u003e"},"title":"Order Dispatched","status":true,"tooltip":null,"description":null}},{"lang":"vi","ordered":{"icon":{"id":"icon_14","svg":"\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlnsXlink=\"http:\/\/www.w3.org\/1999\/xlink\" version=\"1.1\" height=\"40\" width=\"40\" id=\"Capa_1\" x=\"0px\" y=\"0px\" viewBox=\"0 0 612 612\" enableBackground=\"new 0 0 612 612\" xmlSpace=\"preserve\"\u003e\u003cg\u003e\u003cg\u003e\u003cg\u003e\u003cpath d=\"M608.126,124.457c-3.239-3.945-8.075-6.233-13.179-6.233H107.539L91.367,34.782c-1.555-8.018-8.577-13.81-16.743-13.81 h-57.57C7.633,20.972,0,28.608,0,38.026s7.633,17.054,17.054,17.054h43.501l73.439,384.296 c1.435,8.155,8.519,14.101,16.796,14.101h60.242c-32.342,5.858-56.956,34.204-56.956,68.21c0,38.233,31.106,69.34,69.34,69.34 c38.233,0,69.336-31.106,69.336-69.34c0-34.005-24.609-62.351-56.953-68.21h221.5c-32.344,5.858-56.959,34.204-56.959,68.21 c0,38.233,31.109,69.34,69.344,69.34c38.233,0,69.339-31.106,69.339-69.34c0-34.005-24.612-62.351-56.953-68.21h51.932 c9.418,0,17.054-7.636,17.054-17.054c0-9.42-7.636-17.054-17.054-17.054H165.109l-5.224-29.721h387.974 c8.142,0,15.144-5.752,16.73-13.736l47.086-237.314C612.667,133.591,611.365,128.403,608.126,124.457z M504.917,521.687 c0,19.426-15.805,35.23-35.23,35.23c-19.428,0-35.236-15.804-35.236-35.23c0-19.426,15.808-35.23,35.236-35.23 C489.112,486.458,504.917,502.26,504.917,521.687z M258.646,521.687c0,19.426-15.802,35.23-35.227,35.23 c-19.428,0-35.233-15.804-35.233-35.23c0-19.426,15.805-35.23,35.233-35.23C242.842,486.458,258.646,502.26,258.646,521.687z M153.539,355.539l-23.13-119.328h64.366l19.605,119.328H153.539z M327.099,355.539h-78.154l-19.605-119.328h97.76V355.539z M440.591,355.539h-79.384V236.212h96.513L440.591,355.539z M533.857,355.539H475.05l17.13-119.328h65.352L533.857,355.539z M564.299,202.104h-440.5l-9.648-49.77h460.025L564.299,202.104z\"\/\u003e\u003c\/g\u003e\u003c\/g\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003c\/svg\u003e"},"title":"Ordered","tooltip":null,"description":null},"delivered":{"icon":{"id":"icon_16","svg":"\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlnsXlink=\"http:\/\/www.w3.org\/1999\/xlink\" version=\"1.1\" id=\"Capa_1\" x=\"0px\" y=\"0px\" width=\"60\" height=\"60\" viewBox=\"0 0 38 38\" enableBackground=\"new 0 0 38 38\" xmlSpace=\"preserve\"\u003e\u003cg\u003e\u003cpath d=\"M19,0C11.096,0,4.666,6.43,4.666,14.333c0,11.379,12.796,22.81,13.341,23.292C18.292,37.875,18.646,38,19,38 c0.368,0,0.736-0.135,1.023-0.404c0.543-0.508,13.311-12.568,13.311-23.262C33.334,6.431,26.902,0,19,0z M19,21.168 c-3.775,0-6.834-3.061-6.834-6.833S15.225,7.502,19,7.502c3.773,0,6.832,3.06,6.832,6.833S22.773,21.168,19,21.168z\"\/\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003cg\u003e\u003c\/g\u003e\u003c\/svg\u003e"},"title":"Order Delivered","tooltip":null,"description":null}
1689,"dispatched":{"icon":{"id":"icon_29","svg":"\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlnsXlink=\"http:\/\/www.w3.org\/1999\/xlink\" version=\"1.1\" id=\"Layer_1\" x=\"0px\" y=\"0px\" width=\"40\" height=\"40\" viewBox=\"0 0 512 512\" enableBackground=\"new 0 0 512 512\" xmlSpace=\"preserve\"\u003e\n \u003cpath d=\"M497.081,14.933c-1.515-1.495-3.75-1.912-5.703-1.048L26.753,221.692c-6.771,3.027-11.623,9.185-12.947,16.471 c-1.355,7.286,0.978,14.769,6.206,20.006l100.095,100.095L392.792,111.76c1.009-0.93,2.585-0.89,3.563,0.088 c0.979,0.974,1.009,2.553,0.096,3.584L149.978,388.117l12.693,98.073c0.412,3.29,2.492,6.141,5.482,7.553 c3.027,1.425,8.979,0.101,11.059-2.492c11.658-14.422,32.234-42.187,32.234-42.187l42.376,42.906 c5.259,5.237,12.725,7.562,20.006,6.215c7.307-1.342,13.452-6.185,16.475-12.944L498.12,20.622 C499.002,18.692,498.563,16.429,497.081,14.933z\"\/\u003e\n \u003c\/svg\u003e"},"title":"Order Dispatched","status":true,"tooltip":null,"description":null}}]}},"translations":[{"lang":"default","time":{"hours":"Hours","minutes":"Minutes","seconds":"Seconds"}}],"productPreview":{"productPreview":{"ids":[10666571170138]}}},"condition_configs":{"manual":{"on_pages":["productPage"],"device_targeting":{"show_on":"all"}},"automate":{"operator":"and","conditions":[{"value":null,"where":"EQUALS","select":"ALL","values":[]}]}},"status":1}}[11486]; 1690 1691 1692 1693 1694 1695 Samita.Countdowns.dataSalesPopups = [] 1696 1697 1698 1699 Samita.Countdowns.dataBanners = [] 1700 1701 1702 1703 1704 </script>
1704 1705 <!-- END app block --><!-- BEGIN app block: shopify://apps/salesfire-cro-tools/blocks/app-embed/67207dd3-43ec-4f5a-96a4-5ccceb0d9033 -->
1705<script src="https://cdn.salesfire.co.uk/code/shopify/98633711962.js" async></script>
1705 1706 1707 1708<!-- END app block -->
1708<script src="https://cdn.shopify.com/extensions/01a11e93-cfdd-7e31-8fce-4101c959d1b1/avada-upsell-272/assets/avada-free-gift.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 1708
1708
1709<script src="https://cdn.shopify.com/extensions/01a0d281-f883-79d1-9066-ada610f6412a/countdown-timer-bar-samita-118/assets/samita.countdowns.index.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 1709
1709
1710<script src="https://cdn.shopify.com/extensions/01a11c04-5004-7089-99f7-e26379ae3845/forms-2615/assets/shopify-forms-loader.js" type="text/javascript" defer="defer"></script>
1710 1711<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1712<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: 98633711962,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 1712
1712
1713<script> 1714 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 1715</script>
vendor: 1 bytes, line 1715
1715
1716<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}
1716).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: 98633711962,storefrontBaseUrl: "https://www.tnbl.co.uk",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.tnbl.co.uk/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab"],webPixelsConfigList: [{"id":"4197941594","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"6e6b2e32fe6866115b7e49e2ae3c75b2","type":"APP","apiClientId":5940125,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
1716,"dataSharingState":"unrestricted"},{"id":"4022337882","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-7TERMZ9RHX\\\",\\\"AW-591385983\\\",\\\"GT-WVR4LPWJ\\\"],\\\"target_country\\\":\\\"ZZ\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-7TERMZ9RHX\\\",\\\"AW-591385983\\\/iUKXCJqpmZIcEP-q_5kC\\\"]},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-7TERMZ9RHX\\\",\\\"AW-591385983\\\/W-woCJarmZIcEP-q_5kC\\\"]},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-7TERMZ9RHX\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-7TERMZ9RHX\\\",\\\"AW-591385983\\\/p09LCJOrmZIcEP-q_5kC\\\",\\\"MC-E9WFHS98NK\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-7TERMZ9RHX\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-7TERMZ9RHX\\\",\\\"AW-591385983\\\/xjToCJepmZIcEP-q_5kC\\\",\\\"MC-E9WFHS98NK\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-7TERMZ9RHX\\\",\\\"AW-591385983\\\/zMS7CJCrmZIcEP-q_5kC\\\",\\\"MC-E9WFHS98NK\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-7TERMZ9RHX\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-7TERMZ9RHX\\\",\\\"AW-591385983\\\/j0WjCJmrmZIcEP-q_5kC\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-7TERMZ9RHX\\\",\\\"AW-591385983\\\/A2rDCI2rmZIcEP-q_5kC\\\"]},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-7TERMZ9RHX\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"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":"3721855322","configuration":"{\"siteID\":\"c7accaaa-a294-445b-957a-64072951e91d\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"f5a1297a20299bbb60a304a0ec8edd84","type":"APP","apiClientId":3983114241,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"307069274","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Google Tag Manager"},{"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":"TNBL UK","paymentSettings":{"currencyCode":"GBP"},"myshopifyDomain":"tnbl-uk.myshopify.com","countryCode":"GB","storefrontUrl":"https:\/\/www.tnbl.co.uk"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":99.95,"currencyCode":"GBP"},"product":{"title":"Aprés Mini Nova Led Lamp","vendor":"APRES","id":"11020550406490","untranslatedTitle":"Aprés Mini Nova Led Lamp","url":"\/products\/apres-nova-led-lamp-mini","type":""},"id":"54916494557530","image":{"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544"},"sku":"AP-NOVA-MINI-B","title":"Black","untranslatedTitle":"Black"},{"price":{"amount":99.95,"currencyCode":"GBP"},"product":{"title":"Aprés Mini Nova Led Lamp","vendor":"APRES","id":"11020550406490","untranslatedTitle":"Aprés Mini Nova Led Lamp","url":"\/products\/apres-nova-led-lamp-mini","type":""},"id":"54916494590298","image":{"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_White-01.jpg?v=1791299606"},"sku":"AP-NOVA-MINI-W","title":"White","untranslatedTitle":"White"}
1716],"products":[{"id":"11020550406490","handle":"apres-nova-led-lamp-mini","isCollective":null,"title":"Aprés Mini Nova Led Lamp","type":null,"untranslatedTitle":"Aprés Mini Nova Led Lamp","url":"\/products\/apres-nova-led-lamp-mini","vendor":"APRES","remoteShopId":null,"variants":[{"id":"54916494557530","image":{"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544"},"price":{"amount":99.95,"currencyCode":"GBP"},"sku":"AP-NOVA-MINI-B","title":"Black","untranslatedTitle":"Black"},{"id":"54916494590298","image":{"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_White-01.jpg?v=1791299606"},"price":{"amount":99.95,"currencyCode":"GBP"},"sku":"AP-NOVA-MINI-W","title":"White","untranslatedTitle":"White"}]},{"id":"10666571170138","handle":"tnbl-h-easy-french-v-shape-cutters-silver","isCollective":null,"title":"#H Easy French V-Shape Cutters - Silver","type":null,"untranslatedTitle":"#H Easy French V-Shape Cutters - Silver","url":"\/products\/tnbl-h-easy-french-v-shape-cutters-silver","vendor":"TNBL","remoteShopId":null,"variants":[{"id":"53270702719322","image":{"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/1656080832-28260200_b0edcac7-1c87-4e6e-84f6-f4bd52d39a1b.jpg?v=1768909812"},"price":{"amount":5.0,"currencyCode":"GBP"},"sku":"VC-H-S","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10666571268442","handle":"tnbl-k-easy-french-water-drop-cutters-gold","isCollective":null,"title":"#K Easy French Water Drop Cutters - Gold","type":null,"untranslatedTitle":"#K Easy French Water Drop Cutters - Gold","url":"\/products\/tnbl-k-easy-french-water-drop-cutters-gold","vendor":"TNBL","remoteShopId":null,"variants":[{"id":"53270702883162","image":{"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/1656501983-43261500_1efed7e0-0701-4485-b979-6f08f38e0f00.png?v=1768909817"},"price":{"amount":5.0,"currencyCode":"GBP"},"sku":"WDC-K-G","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10666571235674","handle":"tnbl-k-easy-french-water-drop-cutters-silver","isCollective":null,"title":"#K Easy French Water Drop Cutters - Silver","type":null,"untranslatedTitle":"#K Easy French Water Drop Cutters - Silver","url":"\/products\/tnbl-k-easy-french-water-drop-cutters-silver","vendor":"TNBL","remoteShopId":null,"variants":[{"id":"53270702850394","image":{"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/1656080832-86649200_3a7669c5-f579-4718-9c0a-6f684f1e876a.jpg?v=1768909816"},"price":{"amount":5.0,"currencyCode":"GBP"},"sku":"WDC-K-S","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10666595680602","handle":"tnbl-0-25g-long-handle-measuring-spoon-4pcs","isCollective":null,"title":"0.25g Long Handle Measuring Spoon 4pcs","type":null,"untranslatedTitle":"0.25g Long Handle Measuring Spoon 4pcs","url":"\/products\/tnbl-0-25g-long-handle-measuring-spoon-4pcs","vendor":"TNBL","remoteShopId":null,"variants":[{"id":"53270759309658","image":{"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/1705842587-67525300_f9520136-4076-48ea-8504-b94aec7b7572.png?v=1768910747"},"price":{"amount":0.8,"currencyCode":"GBP"},"sku":"LMS-0.25G","title":"Default Title","untranslatedTitle":"Default Title"}]}],"purchasingCompany":null},},"https://www.tnbl.co.uk/cdn","7ec887c8w14f9f074p854094e1m1370c602",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"193010991450","themePublished":"true","eventMetadataId":"2b35c042-b5ba-40ab-aef2-8eabc2bd5718","pageType":"product","resourceId":"11020550406490","shopId":"98633711962","storefrontBaseUrl":"https:\/\/www.tnbl.co.uk","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\"]","isMerchantRequest":"false","hashVersion":"7ec887c8w14f9f074p854094e1m1370c602","publish":"custom","events":"[[\"page_viewed\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":99.95,\"currencyCode\":\"GBP\"},\"product\":{\"title\":\"Aprés Mini Nova Led Lamp\",\"vendor\":\"APRES\",\"id\":\"11020550406490\",\"untranslatedTitle\":\"Aprés Mini Nova Led Lamp\",\"url\":\"\/products\/apres-nova-led-lamp-mini\",\"type\":\"\"},\"id\":\"54916494557530\",\"image\":{\"src\":\"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544\"},\"sku\":\"AP-NOVA-MINI-B\",\"title\":\"Black\",\"untranslatedTitle\":\"Black\"}}]]"});})();</script>
1716<script> 1717 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 1718 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 1719 window.ShopifyAnalytics.meta.currency = 'GBP'; 1720 var meta = {"product":{"id":11020550406490,"gid":"gid:\/\/shopify\/Product\/11020550406490","vendor":"APRES","type":"","handle":"apres-nova-led-lamp-mini","variants":[{"id":54916494557530,"price":9995,"name":"Aprés Mini Nova Led Lamp - Black","public_title":"Black","sku":"AP-NOVA-MINI-B"},{"id":54916494590298,"price":9995,"name":"Aprés Mini Nova Led Lamp - White","public_title":"White","sku":"AP-NOVA-MINI-W"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":11020550406490,"requestId":"91029608-14d0-452a-9a14-939cfeac2b74-1791516145"}}; 1721 for (var attr in meta) { 1722 window.ShopifyAnalytics.meta[attr] = meta[attr]; 1723 } 1724</script>
vendor: 1 bytes, line 1724
1724
1725<script class="analytics"> 1726 (function () { 1727 var customDocumentWrite = function(content) { 1728 var jquery = null; 1729 1730 if (window.jQuery) { 1731 jquery = window.jQuery; 1732 } else if (window.Checkout && window.Checkout.$) { 1733 jquery = window.Checkout.$; 1734 } 1735 1736 if (jquery) { 1737 jquery('body').append(content); 1738 } 1739 }; 1740 1741 var hasLoggedConversion = function(token) { 1742 if (token) { 1743 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 1744 } 1745 return false; 1746 } 1747 1748 var setCookieIfConversion = function(token) { 1749 if (token) { 1750 var twoMonthsFromNow = new Date(Date.now()); 1751 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 1752 1753 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 1754 } 1755 } 1756 1757 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 1758 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 1759 if (trekkie.integrations) { 1760 return; 1761 } 1762 trekkie.methods = [ 1763 'identify', 1764 'page', 1765 'ready', 1766 'track', 1767 'trackForm', 1768 'trackLink' 1769 ]; 1770 trekkie.factory = function(method) { 1771 return function() { 1772 var args = Array.prototype.slice.call(arguments); 1773 args.unshift(method); 1774 trekkie.push(args); 1775 if (method == 'track' || method == 'page') { 1776 var pageUrl; 1777 try { 1778 pageUrl = window.location.href; 1779 } catch (e) {} 1780 var pageReferrer; 1781 try { 1782 pageReferrer = document.referrer; 1783 } catch (e) {} 1784 try { 1785 if (window.__TREKKIE_SHIM_QUEUE == null) { 1786 window.__TREKKIE_SHIM_QUEUE = []; 1787 } 1788 window.__TREKKIE_SHIM_QUEUE.push({ 1789 from: 'trekkie-stub', 1790 method: method, 1791 args: args.slice(1), 1792 pageContext: { 1793 url: pageUrl, 1794 referrer: pageReferrer 1795 } 1796 }); 1797 } catch (e) { 1798 // no-op 1799 } 1800 } 1801 return trekkie; 1802 }; 1803 }; 1804 for (var i = 0; i < trekkie.methods.length; i++) { 1805 var key = trekkie.methods[i]; 1806 trekkie[key] = trekkie.factory(key); 1807 } 1808 trekkie.load = function(config) { 1809 trekkie.config = config || {}; 1810 trekkie.config.initialDocumentCookie = document.cookie; 1811 var first = document.getElementsByTagName('script')[0]; 1812var script = document.createElement('script'); 1813script.type = 'text/javascript'; 1814script.onerror = function(e) { 1815 var scriptFallback = document.createElement('script'); 1816 scriptFallback.type = 'text/javascript'; 1817 scriptFallback.onerror = function(error) { 1818 var Monorail = { 1819 produce: function produce(monorailDomain, schemaId, payload) { 1820 var currentMs = new Date().getTime(); 1821 var event = { 1822 schema_id: schemaId, 1823 payload: payload, 1824 metadata: { 1825 event_created_at_ms: currentMs, 1826 event_sent_at_ms: currentMs 1827 } 1828 }; 1829 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 1830 }, 1831 sendRequest: function sendRequest(endpointUrl, payload) { 1832 // Try the sendBeacon API 1833 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 1834 var blobData = new window.Blob([payload], { 1835 type: 'text/plain' 1836 }); 1837 1838 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 1839 return true; 1840 } // sendBeacon was not successful 1841 1842 } // XHR beacon 1843 1844 var xhr = new XMLHttpRequest(); 1845 1846 try { 1847 xhr.open('POST', endpointUrl); 1848 xhr.setRequestHeader('Content-Type', 'text/plain'); 1849 xhr.send(payload); 1850 } catch (e) { 1851 console.log(e); 1852 } 1853 1854 return false; 1855 }, 1856 isIos12: function isIos12() { 1857 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 1858 } 1859 }; 1860 Monorail.produce('monorail-edge.shopifysvc.com', 1861 'trekkie_storefront_load_errors/1.1', 1862 {shop_id: 98633711962, 1863 theme_id: 193010991450, 1864 app_name: "storefront", 1865 context_url: window.location.href, 1866 source_url: "//www.tnbl.co.uk/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js"}); 1867 1868 }; 1869 scriptFallback.async = true; 1870 scriptFallback.src = '//www.tnbl.co.uk/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 1871 first.parentNode.insertBefore(scriptFallback, first); 1872}; 1873script.async = true; 1874script.src = '//www.tnbl.co.uk/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 1875first.parentNode.insertBefore(script, first); 1876 1877 }; 1878 trekkie.load( 1879 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":98633711962,"isMerchantRequest":null,"themeId":193010991450,"themeCityHash":"6561244280233220478","contentLanguage":"en","currency":"GBP","eventMetadataId":"2b35c042-b5ba-40ab-aef2-8eabc2bd5718"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}} 1880 ); 1881 1882 var loaded = false;
1883 trekkie.ready(function() { 1884 if (loaded) return; 1885 loaded = true; 1886 1887 window.ShopifyAnalytics.lib = window.trekkie; 1888 1889 var originalDocumentWrite = document.write; 1890 document.write = customDocumentWrite; 1891 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 1892 document.write = originalDocumentWrite; 1893 1894 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 1895 var token = match? match[1]: undefined; 1896 if (!hasLoggedConversion(token)) { 1897 setCookieIfConversion(token); 1898 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"GBP","variantId":54916494557530,"productId":11020550406490,"productGid":"gid:\/\/shopify\/Product\/11020550406490","name":"Aprés Mini Nova Led Lamp - Black","price":"99.95","sku":"AP-NOVA-MINI-B","brand":"APRES","variant":"Black","category":"","nonInteraction":true,"remote":false,"available":true},undefined,undefined,{"shopifyEmitted":true}); 1899 } 1900 }); 1901 1902 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":11020550406490,"requestId":"91029608-14d0-452a-9a14-939cfeac2b74-1791516145","shopifyEmitted":true}); 1903 1904 var eventsListenerScript = document.createElement('script'); 1905 eventsListenerScript.async = true; 1906 eventsListenerScript.src = "//www.tnbl.co.uk/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 1907 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 1908})();</script>
vendor: 1 bytes, line 1908
1908
1909<script 1910 defer 1911 src="https://www.tnbl.co.uk/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.10.1.min.js" 1912 data-application="storefront-renderer" 1913 data-shop-id="98633711962" 1914 data-render-region="gcp-europe-west4" 1915 data-page-type="product" 1916 data-theme-instance-id="193010991450" 1917 data-theme-name="Horizon" 1918 data-theme-version="3.2.1" 1919 data-monorail-region="shop_domain" 1920 data-resource-timing-sampling-rate="10" 1921 data-shs="true" 1922 data-shs-beacon="true" 1923 data-shs-export-with-fetch="true" 1924 data-shs-logs-sample-rate="1" 1925 data-shs-beacon-endpoint="https://www.tnbl.co.uk/api/collect" 1926></script>
1926 1927<meta name="shopify-y" content="b39d8b94-7b21-4be9-861c-c3387fc124b1" data-expiration="1823073746000"><meta name="shopify-s" content="a64ef100-33df-410e-b8fc-d2524b2c2bb4" data-expiration="1791517946000"> 1928</head> 1929 1930 <body class="page-width-narrow card-hover-effect-none"> 1931 <a 1932 class="skip-to-content-link button-secondary" 1933 href="#MainContent" 1934> 1935 Skip to content 1936</a> 1937 1938 <div id="header-group"> 1939 <!-- BEGIN sections: header-group --> 1940<div id="shopify-section-sections--28213213561178__header_announcements_9jGBFp" class="shopify-section shopify-section-group-header-group"> 1941 1942 1943
1943<script 1944 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/announcement-bar.js?v=34024675399582161451774530326" 1945 type="module" 1946 fetchpriority="low" 1947 ></script>
1947 1948 1949 1950<div class="section-background color-scheme-3"></div> 1951<aside 1952 class="announcement-bar spacing-style section section--page-width color-scheme-3" 1953 style="--padding-block-start: 15px; --padding-block-end:15px; 1954--padding-inline-start:0px; --padding-inline-end:0px; 1955; --border-bottom-width: 0px;" 1956> 1957 1958 1959 <announcement-bar-component 1960 class="announcement-bar__slider" 1961 1962 autoplay="5" aria-live="polite" 1963 1964 > 1965 1966 <slideshow-arrows 1967 position="center" 1968 1969><button 1970 class=" 1971 slideshow-control slideshow-control--previous 1972 1973 1974 slideshow-control--style-chevron 1975 button button-unstyled button-unstyled--transparent 1976 flip-x 1977 " 1978 1979 aria-label="Previous slide" 1980 1981 on:click="/previous" 1982 ref="previous" 1983> 1984 <span class="svg-wrapper icon-caret"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 1985 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 1986</svg> 1987</span> 1988</button> 1989<button 1990 class=" 1991 slideshow-control slideshow-control--next 1992 1993 1994 slideshow-control--style-chevron 1995 button button-unstyled button-unstyled--transparent 1996 1997 " 1998 1999 aria-label="Next slide" 2000 2001 on:click="/next" 2002 ref="next" 2003> 2004 <span class="svg-wrapper icon-caret"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 2005 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2006</svg> 2007</span> 2008</button> 2009</slideshow-arrows> 2010 2011 2012 2013 <div class="announcement-bar__slides"> 2014 2015<slideshow-slide 2016 ref="slides[]" 2017 class=" 2018 announcement-bar__slide 2019 text-block 2020 text-block--AM0lZaU1DR3pweWRvW__announcement_BxgCk9 2021 text-block--align-center 2022 text-block--full-width 2023 custom-typography 2024 custom-font-size 2025 2026 " 2027 style=" 2028 2029--color: ;--font-size: 0.75rem; --font-weight: var(--font-body--weight);--font-family: var(--font-body--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-); --letter-spacing: var(--letter-spacing--body-normal); 2030 --width: 100%; 2031 --text-align: center; 2032 --line-height: 1.2; 2033 " 2034 2035 aria-hidden="false" 2036 > 2037 <p class="announcement-bar__text"> 2038 Free UK mainland delivery on orders over £60 2039 </p> 2040 2041 2042 </slideshow-slide> 2043 2044 2045 2046<slideshow-slide 2047 ref="slides[]" 2048 class=" 2049 announcement-bar__slide 2050 text-block 2051 text-block--AVDhBRytvdzZSTGN6b__announcement_qJjj8M 2052 text-block--align-center 2053 text-block--full-width 2054 custom-typography 2055 custom-font-size 2056 2057 " 2058 style=" 2059 2060--color: ;--font-size: 0.75rem; --font-weight: var(--font-body--weight);--font-family: var(--font-body--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-); --letter-spacing: var(--letter-spacing--body-normal); 2061 --width: 100%; 2062 --text-align: center; 2063 --line-height: 1.2; 2064 " 2065 2066 aria-hidden="true" 2067 > 2068 <p class="announcement-bar__text"> 2069 Sign up for a Trade Account today 2070 </p> 2071 2072 2073 <a 2074 class="announcement-bar__link" 2075 href="https://account.tnbl.co.uk" 2076 > 2077 <span class="visually-hidden"> 2078 Sign up for a Trade Account today 2079 </span> 2080 </a> 2081 2082 </slideshow-slide> 2083 2084 2085 2086<slideshow-slide 2087 ref="slides[]" 2088 class=" 2089 announcement-bar__slide 2090 text-block 2091 text-block--AQXJDYUxHQVc2Qk9uQ__announcement_dC8YgV 2092 text-block--align-center 2093 text-block--full-width 2094 custom-typography 2095 custom-font-size 2096 2097 " 2098 style=" 2099 2100--color: ;--font-size: 0.75rem; --font-weight: var(--font-body--weight);--font-family: var(--font-body--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-); --letter-spacing: var(--letter-spacing--body-normal); 2101 --width: 100%; 2102 --text-align: center; 2103 --line-height: 1.2; 2104 " 2105 2106 aria-hidden="true" 2107 > 2108 <p class="announcement-bar__text"> 2109 Check out our Nail Courses 2110 </p> 2111 2112 2113 <a 2114 class="announcement-bar__link" 2115 href="/pages/courses" 2116 >
2117 <span class="visually-hidden"> 2118 Check out our Nail Courses 2119 </span> 2120 </a> 2121 2122 </slideshow-slide> 2123 2124 2125 2126 </div> 2127 </announcement-bar-component> 2128</aside> 2129 2130 2131 2132 2133</div><header id="shopify-section-sections--28213213561178__header_section" class="shopify-section shopify-section-group-header-group header-section"> 2134 2135 2136 2137 2138
2139<script type="application/ld+json"> 2140 { 2141 "@context": "http://schema.org", 2142 "@type": "Organization", 2143 "name": "TNBL UK", 2144 2145 "logo": "https:\/\/www.tnbl.co.uk\/cdn\/shop\/files\/TNBL.png?v=1766497859\u0026width=500", 2146 2147 "url": "https:\/\/www.tnbl.co.uk" 2148 } 2149</script>
2149 2150 2151<header-component 2152 id="header-component" 2153 class="header" 2154 data-theme-color="rgb(255 255 255)" 2155 2156 2157 sticky="always" 2158 2159 data-skip-node-update 2160 data-scroll-direction="none" 2161> 2162 2163 2164 2165 2166 2167 2168 <div 2169 class="header__row header__row--top color-scheme-1 section section--full-width-margin section--page-width" 2170 ref="headerRowTop"style="--border-bottom-width: 0px; --border-bottom-width-mobile: 0px;"> 2171 <div class="header__columns spacing-style"> 2172 <div 2173 class="header__column header__column--left" 2174 data-testid="header-top-left" 2175 > 2176 2177 2178 2179 2180 2181 2182 2183 <div 2184 class="header__drawer desktop:hidden" 2185 ref="headerDrawerContainer" 2186 2187 > 2188 2189
2190<script 2191 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/header-drawer.js?v=44357639294953783801774530325" 2192 type="module" 2193 fetchpriority="low" 2194></script>
2194 2195 2196<header-drawer 2197 class="header-drawer header__drawer--mobile" 2198 style="--menu-image-border-radius: 12px; --resource-card-corner-radius: 12px;" 2199> 2200 <details 2201 id="Details-menu-drawer-container" 2202 data-skip-node-update="true" 2203 class="menu-drawer-container" 2204 ref="details" 2205 scroll-lock 2206 > 2207 <summary 2208 class="header__icon header__icon--menu header__icon--summary" 2209 aria-label="Menu" 2210 on:click="/toggle" 2211 > 2212 <span class="svg-wrapper header-drawer-icon header-drawer-icon--open"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 2213 <path d="M1 3.5H13" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 2214 <path d="M1 10.5H13" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 2215</svg> 2216</span> 2217 <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 2218 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2219 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2220</svg> 2221</span> 2222 </summary> 2223 <div 2224 data-header-drawer 2225 class=" 2226 menu-drawer 2227 motion-reduce 2228 color-scheme-1 2229 " 2230 > 2231 <button 2232 class="button button-unstyled close-button menu-drawer__close-button" 2233 type="button" 2234 aria-label="Close" 2235 on:click="/close" 2236 > 2237 <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 2238 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2239 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2240</svg> 2241</span> 2242 </button> 2243 <nav 2244 class="menu-drawer__navigation" 2245 style="--menu-top-level-font-family: var(--font-body--family); 2246--menu-top-level-font-size-desktop: 1rem; --menu-top-level-font-style: var(--font-body--style); --menu-top-level-font-weight: var(--font-body--weight); --menu-top-level-font-case:none; 2247 2248 --menu-top-level-font-size: var(--menu-font-2xl--size); --menu-top-level-font-line-height: 2249 var(--menu-font-2xl--line-height); 2250 2251--menu-top-level-font-color: var(--color-foreground); --menu-top-level-font-color-rgb: var(--color-foreground-rgb); 2252 2253--menu-parent-font-family: var(--font-body--family); --menu-parent-font-style: 2254var(--font-body--style); --menu-parent-font-weight: var(--font-body--weight); --menu-parent-font-case: 2255none; 2256 2257 --menu-parent-font-size: var(--menu-font-md--size); --menu-parent-font-line-height: 2258 var(--menu-font-md--line-height); --menu-parent-font-color: var(--color-foreground); 2259 --menu-parent-active-font-color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text)); 2260 2261--menu-child-font-family: var(--font-body--family); --menu-child-font-style: 2262var(--font-body--style); --menu-child-font-weight: var(--font-body--weight); --menu-child-font-case: 2263none; 2264 2265 --menu-child-font-size: var(--menu-font-sm--size); --menu-child-font-line-height: var(--menu-font-sm--line-height); 2266 --menu-child-font-color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text)); 2267 --menu-child-active-font-color: var(--color-foreground); 2268 2269 2270 " 2271 > 2272 <ul 2273 class="menu-drawer__menu has-submenu" 2274 role="list" 2275 > 2276 2277 2278 <li 2279 class="menu-drawer__list-item" 2280 style="--menu-drawer-animation-index: 1;" 2281 ><a 2282 id="HeaderDrawer-new-in" 2283 href="/collections/new" 2284 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 2285 2286 >
2287 <span class="menu-drawer__menu-item-text wrap-text">New In</span> 2288 </a></li> 2289 <li 2290 class="menu-drawer__list-item" 2291 style="--menu-drawer-animation-index: 2;" 2292 ><details 2293 id="Details-menu-drawer-menu-item-2" 2294 class="menu-drawer__menu-container" 2295 > 2296 <summary 2297 id="HeaderDrawer-apres-nails" 2298 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 2299 on:click="header-drawer/open" 2300 > 2301 <span class="menu-drawer__menu-item-text wrap-text">Apres Nails</span> 2302 <span class="svg-wrapper icon-caret icon-caret--forward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 2303 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2304</svg> 2305</span> 2306 </summary> 2307 <div 2308 id="link-apres-nails" 2309 class="menu-drawer__submenu has-submenu gradient motion-reduce" 2310 tabindex="-1" 2311 style="--menu-drawer-animation-index: 2;" 2312 > 2313 <div class="menu-drawer__inner-submenu"> 2314 <div class="menu-drawer__nav-buttons"> 2315 <button 2316 class="button menu-drawer__back-button focus-inset" 2317 aria-expanded="true" 2318 on:click="header-drawer/back" 2319 aria-label="Back" 2320 > 2321 <span class="svg-wrapper icon-caret icon-caret--backward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 2322 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2323</svg> 2324</span> 2325 <span class="menu-drawer__menu-item-text wrap-text">Apres Nails</span> 2326 </button> 2327 <button 2328 class="button button-unstyled close-button menu-drawer__close-button" 2329 type="button" 2330 aria-label="Close" 2331 on:click="header-drawer/close" 2332 > 2333 <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 2334 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2335 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2336</svg> 2337</span> 2338 </button> 2339 </div> 2340 2341 2342 <ul 2343 class="menu-drawer__menu menu-drawer__menu--childlist" 2344 role="list" 2345 tabindex="-1" 2346 > 2347 <li 2348 class=" 2349 menu-drawer__list-item 2350 menu-drawer__list-item--flat 2351 " 2352 > 2353 2354<a 2355 id="HeaderDrawer-apres-nails-apres-nails" 2356 href="/pages/apres" 2357 class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset" 2358 > 2359 <span class="menu-drawer__menu-item-text wrap-text">Apres Nails</span> 2360 </a> 2361 2362 <ul 2363 class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content" 2364 role="list" 2365 tabindex="-1" 2366 ><li 2367 class="menu-drawer__list-item" 2368 style="--menu-drawer-animation-index: 1;" 2369 > 2370 <a 2371 id="HeaderDrawer-apres-nails-apres-nails-gel-x-kits" 2372 href="/collections/apres-gel-x-kits" 2373 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 2374 2375 > 2376
2377 <span class="menu-drawer__menu-item-text wrap-text">Gel-X Kits</span> 2378 </a> 2379 </li><li 2380 class="menu-drawer__list-item" 2381 style="--menu-drawer-animation-index: 2;" 2382 > 2383 <a 2384 id="HeaderDrawer-apres-nails-apres-nails-gel-x-tips" 2385 href="/collections/apres-gel-x-tips" 2386 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 2387 2388 > 2389 2390 <span class="menu-drawer__menu-item-text wrap-text">Gel-X Tips</span> 2391 </a> 2392 </li><li 2393 class="menu-drawer__list-item" 2394 style="--menu-drawer-animation-index: 3;" 2395 > 2396 <a 2397 id="HeaderDrawer-apres-nails-apres-nails-gel-colours" 2398 href="/collections/apres-gel-colour" 2399 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 2400 2401 > 2402 2403 <span class="menu-drawer__menu-item-text wrap-text">Gel Colours</span> 2404 </a> 2405 </li><li 2406 class="menu-drawer__list-item" 2407 style="--menu-drawer-animation-index: 4;" 2408 > 2409 <a 2410 id="HeaderDrawer-apres-nails-apres-nails-essentials" 2411 href="/collections/apres-essentials" 2412 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 2413 2414 > 2415 2416 <span class="menu-drawer__menu-item-text wrap-text">Essentials</span> 2417 </a> 2418 </li><li 2419 class="menu-drawer__list-item" 2420 style="--menu-drawer-animation-index: 5;" 2421 > 2422 <a 2423 id="HeaderDrawer-apres-nails-apres-nails-tools-accessories" 2424 href="/collections/apres-tools-accessories" 2425 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 2426 2427 > 2428 2429 <span class="menu-drawer__menu-item-text wrap-text">Tools & Accessories</span> 2430 </a> 2431 </li><li 2432 class="menu-drawer__list-item" 2433 style="--menu-drawer-animation-index: 6;" 2434 > 2435 <a 2436 id="HeaderDrawer-apres-nails-apres-nails-aer-gel" 2437 href="/collections/apres-aer-gel" 2438 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 2439 2440 > 2441
2442 <span class="menu-drawer__menu-item-text wrap-text">Aer Gel</span> 2443 </a> 2444 </li><li 2445 class="menu-drawer__list-item" 2446 style="--menu-drawer-animation-index: 7;" 2447 > 2448 <a 2449 id="HeaderDrawer-apres-nails-apres-nails-art-inks" 2450 href="/collections/apres-art-inks" 2451 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 2452 2453 > 2454 2455 <span class="menu-drawer__menu-item-text wrap-text">Art Inks</span> 2456 </a> 2457 </li><li 2458 class="menu-drawer__list-item" 2459 style="--menu-drawer-animation-index: 8;" 2460 > 2461 <a 2462 id="HeaderDrawer-apres-nails-apres-nails-apres-clearance" 2463 href="/collections/apres-clearance" 2464 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 2465 2466 > 2467 2468 <span class="menu-drawer__menu-item-text wrap-text">Apres Clearance</span> 2469 </a> 2470 </li></ul></li></ul> 2471 2472 </div> 2473 </div> 2474 </details></li> 2475 <li 2476 class="menu-drawer__list-item" 2477 style="--menu-drawer-animation-index: 3;" 2478 ><details 2479 id="Details-menu-drawer-menu-item-3" 2480 class="menu-drawer__menu-container" 2481 > 2482 <summary 2483 id="HeaderDrawer-nails" 2484 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 2485 on:click="header-drawer/open" 2486 > 2487 <span class="menu-drawer__menu-item-text wrap-text">Nails</span> 2488 <span class="svg-wrapper icon-caret icon-caret--forward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 2489 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2490</svg> 2491</span> 2492 </summary> 2493 <div 2494 id="link-nails" 2495 class="menu-drawer__submenu has-submenu gradient motion-reduce" 2496 tabindex="-1" 2497 style="--menu-drawer-animation-index: 3;" 2498 > 2499 <div class="menu-drawer__inner-submenu"> 2500 <div class="menu-drawer__nav-buttons"> 2501 <button 2502 class="button menu-drawer__back-button focus-inset" 2503 aria-expanded="true" 2504 on:click="header-drawer/back" 2505 aria-label="Back" 2506 > 2507 <span class="svg-wrapper icon-caret icon-caret--backward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 2508 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2509</svg> 2510</span>
2511 <span class="menu-drawer__menu-item-text wrap-text">Nails</span> 2512 </button> 2513 <button 2514 class="button button-unstyled close-button menu-drawer__close-button" 2515 type="button" 2516 aria-label="Close" 2517 on:click="header-drawer/close" 2518 > 2519 <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 2520 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2521 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2522</svg> 2523</span> 2524 </button> 2525 </div> 2526 2527 2528 2529 <div class="menu-drawer__shop-by-colour menu-drawer__animated-element"> 2530 <p class="menu-drawer__shop-by-colour-title">Shop by Colour</p> 2531 <ul class="menu-drawer__shop-by-colour-grid list-unstyled" role="list"> 2532 2533 2534 <li> 2535 <a 2536 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Beige&sort_by=best-selling&grid=default" 2537 class="menu-drawer__shop-by-colour-link" 2538 aria-label="Beige" 2539 > 2540 2541 <span class="menu-drawer__shop-by-colour-placeholder"></span> 2542 2543 <span class="menu-drawer__shop-by-colour-name">Beige</span> 2544 </a> 2545 </li> 2546 2547 2548 <li> 2549 <a 2550 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Black&sort_by=best-selling&grid=default" 2551 class="menu-drawer__shop-by-colour-link" 2552 aria-label="Black" 2553 > 2554 2555 <span class="menu-drawer__shop-by-colour-swatch"> 2556 <img 2557 src="//www.tnbl.co.uk/cdn/shop/files/Black.png?v=1770112825&width=200" 2558 alt="" 2559 width="24" 2560 height="24" 2561 loading="lazy" 2562 > 2563 </span> 2564 2565 <span class="menu-drawer__shop-by-colour-name">Black</span> 2566 </a> 2567 </li> 2568 2569 2570 <li> 2571 <a 2572 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Blue&sort_by=best-selling&grid=default" 2573 class="menu-drawer__shop-by-colour-link" 2574 aria-label="Blue" 2575 > 2576 2577 <span class="menu-drawer__shop-by-colour-swatch"> 2578 <img 2579 src="//www.tnbl.co.uk/cdn/shop/files/Blue.png?v=1770112825&width=200" 2580 alt="" 2581 width="24" 2582 height="24" 2583 loading="lazy" 2584 > 2585 </span> 2586
2587 <span class="menu-drawer__shop-by-colour-name">Blue</span> 2588 </a> 2589 </li> 2590 2591 2592 <li> 2593 <a 2594 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Brown&sort_by=best-selling&grid=default" 2595 class="menu-drawer__shop-by-colour-link" 2596 aria-label="Brown" 2597 > 2598 2599 <span class="menu-drawer__shop-by-colour-swatch"> 2600 <img 2601 src="//www.tnbl.co.uk/cdn/shop/files/Brown.png?v=1770112826&width=200" 2602 alt="" 2603 width="24" 2604 height="24" 2605 loading="lazy" 2606 > 2607 </span> 2608 2609 <span class="menu-drawer__shop-by-colour-name">Brown</span> 2610 </a> 2611 </li> 2612 2613 2614 <li> 2615 <a 2616 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Clear&sort_by=best-selling&grid=default" 2617 class="menu-drawer__shop-by-colour-link" 2618 aria-label="Clear" 2619 > 2620 2621 <span class="menu-drawer__shop-by-colour-swatch"> 2622 <img 2623 src="//www.tnbl.co.uk/cdn/shop/files/Clear.png?v=1770112825&width=200" 2624 alt="" 2625 width="24" 2626 height="24" 2627 loading="lazy" 2628 > 2629 </span> 2630 2631 <span class="menu-drawer__shop-by-colour-name">Clear</span> 2632 </a> 2633 </li> 2634 2635 2636 <li> 2637 <a 2638 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Gold&sort_by=best-selling&grid=default" 2639 class="menu-drawer__shop-by-colour-link" 2640 aria-label="Gold" 2641 > 2642 2643 <span class="menu-drawer__shop-by-colour-swatch"> 2644 <img 2645 src="//www.tnbl.co.uk/cdn/shop/files/Gold.png?v=1770112826&width=200" 2646 alt="" 2647 width="24" 2648 height="24" 2649 loading="lazy" 2650 > 2651 </span> 2652 2653 <span class="menu-drawer__shop-by-colour-name">Gold</span> 2654 </a> 2655 </li> 2656 2657 2658 <li> 2659 <a 2660 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Green&sort_by=best-selling&grid=default" 2661 class="menu-drawer__shop-by-colour-link" 2662 aria-label="Green" 2663 > 2664
2665 <span class="menu-drawer__shop-by-colour-swatch"> 2666 <img 2667 src="//www.tnbl.co.uk/cdn/shop/files/Green.png?v=1770112825&width=200" 2668 alt="" 2669 width="24" 2670 height="24" 2671 loading="lazy" 2672 > 2673 </span> 2674 2675 <span class="menu-drawer__shop-by-colour-name">Green</span> 2676 </a> 2677 </li> 2678 2679 2680 <li> 2681 <a 2682 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Grey&sort_by=best-selling&grid=default" 2683 class="menu-drawer__shop-by-colour-link" 2684 aria-label="Grey" 2685 > 2686 2687 <span class="menu-drawer__shop-by-colour-swatch"> 2688 <img 2689 src="//www.tnbl.co.uk/cdn/shop/files/Grey.png?v=1770112826&width=200" 2690 alt="" 2691 width="24" 2692 height="24" 2693 loading="lazy" 2694 > 2695 </span> 2696 2697 <span class="menu-drawer__shop-by-colour-name">Grey</span> 2698 </a> 2699 </li> 2700 2701 2702 <li> 2703 <a 2704 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Natural&sort_by=best-selling&grid=default" 2705 class="menu-drawer__shop-by-colour-link" 2706 aria-label="Natural" 2707 > 2708 2709 <span class="menu-drawer__shop-by-colour-swatch"> 2710 <img 2711 src="//www.tnbl.co.uk/cdn/shop/files/Natural.png?v=1770112826&width=200" 2712 alt="" 2713 width="24" 2714 height="24" 2715 loading="lazy" 2716 > 2717 </span> 2718 2719 <span class="menu-drawer__shop-by-colour-name">Natural</span> 2720 </a> 2721 </li> 2722 2723 2724 <li> 2725 <a 2726 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Nude&sort_by=best-selling&grid=default" 2727 class="menu-drawer__shop-by-colour-link" 2728 aria-label="Nude" 2729 > 2730 2731 <span class="menu-drawer__shop-by-colour-swatch"> 2732 <img 2733 src="//www.tnbl.co.uk/cdn/shop/files/Nude.png?v=1770112825&width=200" 2734 alt="" 2735 width="24" 2736 height="24" 2737 loading="lazy" 2738 > 2739 </span> 2740
2741 <span class="menu-drawer__shop-by-colour-name">Nude</span> 2742 </a> 2743 </li> 2744 2745 2746 <li> 2747 <a 2748 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Orange&sort_by=best-selling&grid=default" 2749 class="menu-drawer__shop-by-colour-link" 2750 aria-label="Orange" 2751 > 2752 2753 <span class="menu-drawer__shop-by-colour-swatch"> 2754 <img 2755 src="//www.tnbl.co.uk/cdn/shop/files/Orange.png?v=1770112825&width=200" 2756 alt="" 2757 width="24" 2758 height="24" 2759 loading="lazy" 2760 > 2761 </span> 2762 2763 <span class="menu-drawer__shop-by-colour-name">Orange</span> 2764 </a> 2765 </li> 2766 2767 2768 <li> 2769 <a 2770 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Pink&sort_by=best-selling&grid=default" 2771 class="menu-drawer__shop-by-colour-link" 2772 aria-label="Pink" 2773 > 2774 2775 <span class="menu-drawer__shop-by-colour-swatch"> 2776 <img 2777 src="//www.tnbl.co.uk/cdn/shop/files/Pink.png?v=1770112826&width=200" 2778 alt="" 2779 width="24" 2780 height="24" 2781 loading="lazy" 2782 > 2783 </span> 2784 2785 <span class="menu-drawer__shop-by-colour-name">Pink</span> 2786 </a> 2787 </li> 2788 2789 2790 <li> 2791 <a 2792 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Purple&sort_by=best-selling&grid=default" 2793 class="menu-drawer__shop-by-colour-link" 2794 aria-label="Purple" 2795 > 2796 2797 <span class="menu-drawer__shop-by-colour-swatch"> 2798 <img 2799 src="//www.tnbl.co.uk/cdn/shop/files/Purple.png?v=1770112826&width=200" 2800 alt="" 2801 width="24" 2802 height="24" 2803 loading="lazy" 2804 > 2805 </span> 2806 2807 <span class="menu-drawer__shop-by-colour-name">Purple</span> 2808 </a> 2809 </li> 2810 2811 2812 <li> 2813 <a 2814 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Red&sort_by=best-selling&grid=default" 2815 class="menu-drawer__shop-by-colour-link" 2816 aria-label="Red" 2817 > 2818
2819 <span class="menu-drawer__shop-by-colour-swatch"> 2820 <img 2821 src="//www.tnbl.co.uk/cdn/shop/files/Red.png?v=1770112825&width=200" 2822 alt="" 2823 width="24" 2824 height="24" 2825 loading="lazy" 2826 > 2827 </span> 2828 2829 <span class="menu-drawer__shop-by-colour-name">Red</span> 2830 </a> 2831 </li> 2832 2833 2834 <li> 2835 <a 2836 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Silver&sort_by=best-selling&grid=default" 2837 class="menu-drawer__shop-by-colour-link" 2838 aria-label="Silver" 2839 > 2840 2841 <span class="menu-drawer__shop-by-colour-swatch"> 2842 <img 2843 src="//www.tnbl.co.uk/cdn/shop/files/Silver.png?v=1770112826&width=200" 2844 alt="" 2845 width="24" 2846 height="24" 2847 loading="lazy" 2848 > 2849 </span> 2850 2851 <span class="menu-drawer__shop-by-colour-name">Silver</span> 2852 </a> 2853 </li> 2854 2855 2856 <li> 2857 <a 2858 href="/collections/gel-nail-polish?filter.p.m.custom.colour=White&sort_by=best-selling&grid=default" 2859 class="menu-drawer__shop-by-colour-link" 2860 aria-label="White" 2861 > 2862 2863 <span class="menu-drawer__shop-by-colour-swatch"> 2864 <img 2865 src="//www.tnbl.co.uk/cdn/shop/files/White.png?v=1770112826&width=200" 2866 alt="" 2867 width="24" 2868 height="24" 2869 loading="lazy" 2870 > 2871 </span> 2872 2873 <span class="menu-drawer__shop-by-colour-name">White</span> 2874 </a> 2875 </li> 2876 2877 2878 <li> 2879 <a 2880 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Yellow&sort_by=best-selling&grid=default" 2881 class="menu-drawer__shop-by-colour-link" 2882 aria-label="Yellow" 2883 > 2884 2885 <span class="menu-drawer__shop-by-colour-swatch"> 2886 <img 2887 src="//www.tnbl.co.uk/cdn/shop/files/Yellow.png?v=1770112824&width=200" 2888 alt="" 2889 width="24" 2890 height="24" 2891 loading="lazy" 2892 > 2893 </span> 2894
2895 <span class="menu-drawer__shop-by-colour-name">Yellow</span> 2896 </a> 2897 </li> 2898 2899 </ul> 2900 </div> 2901 2902 2903 2904 <ul 2905 class="menu-drawer__menu menu-drawer__menu--childlist" 2906 role="list" 2907 tabindex="-1" 2908 > 2909 <li 2910 class=" 2911 menu-drawer__list-item 2912 menu-drawer__list-item--flat 2913 " 2914 > 2915 2916<a 2917 id="HeaderDrawer-nails-nail-extensions" 2918 href="/collections/nail-extensions" 2919 class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset" 2920 > 2921 <span class="menu-drawer__menu-item-text wrap-text">Nail Extensions</span> 2922 </a> 2923 2924 <ul 2925 class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content" 2926 role="list" 2927 tabindex="-1" 2928 ><li 2929 class="menu-drawer__list-item" 2930 style="--menu-drawer-animation-index: 1;" 2931 > 2932 <a 2933 id="HeaderDrawer-nails-nail-extensions-acrylic-powder" 2934 href="/collections/nail-extensions-acrylic-powder" 2935 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 2936 2937 > 2938 2939 <span class="menu-drawer__menu-item-text wrap-text">Acrylic Powder</span> 2940 </a> 2941 </li><li 2942 class="menu-drawer__list-item" 2943 style="--menu-drawer-animation-index: 2;" 2944 > 2945 <a 2946 id="HeaderDrawer-nails-nail-extensions-acrylic-monomer-liquids" 2947 href="/collections/nail-extensions-acrylic-monomer-liquids" 2948 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 2949 2950 > 2951 2952 <span class="menu-drawer__menu-item-text wrap-text">Acrylic Monomer & Liquids</span> 2953 </a> 2954 </li><li 2955 class="menu-drawer__list-item" 2956 style="--menu-drawer-animation-index: 3;" 2957 > 2958 <a 2959 id="HeaderDrawer-nails-nail-extensions-acrylic-gel-brushes" 2960 href="/collections/nail-extensions-acrylic-gel-brushes" 2961 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 2962 2963 > 2964
2965 <span class="menu-drawer__menu-item-text wrap-text">Acrylic Gel & Brushes</span> 2966 </a> 2967 </li><li 2968 class="menu-drawer__list-item" 2969 style="--menu-drawer-animation-index: 4;" 2970 > 2971 <a 2972 id="HeaderDrawer-nails-nail-extensions-soft-gel-extensions" 2973 href="/collections/nail-extensions-soft-gel-extensions" 2974 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 2975 2976 > 2977 2978 <span class="menu-drawer__menu-item-text wrap-text">Soft Gel Extensions</span> 2979 </a> 2980 </li><li 2981 class="menu-drawer__list-item" 2982 style="--menu-drawer-animation-index: 5;" 2983 > 2984 <a 2985 id="HeaderDrawer-nails-nail-extensions-dipping-powder" 2986 href="/collections/nail-extensions-dip-powder" 2987 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 2988 2989 > 2990 2991 <span class="menu-drawer__menu-item-text wrap-text">Dipping Powder</span> 2992 </a> 2993 </li><li 2994 class="menu-drawer__list-item" 2995 style="--menu-drawer-animation-index: 6;" 2996 > 2997 <a 2998 id="HeaderDrawer-nails-nail-extensions-nail-prep" 2999 href="/collections/nail-extensions-nail-prep" 3000 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3001 3002 > 3003 3004 <span class="menu-drawer__menu-item-text wrap-text">Nail Prep</span> 3005 </a> 3006 </li><li 3007 class="menu-drawer__list-item" 3008 style="--menu-drawer-animation-index: 7;" 3009 > 3010 <a 3011 id="HeaderDrawer-nails-nail-extensions-nail-tips" 3012 href="/collections/nail-extensions-nail-tips" 3013 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3014 3015 > 3016 3017 <span class="menu-drawer__menu-item-text wrap-text">Nail Tips</span> 3018 </a> 3019 </li><li 3020 class="menu-drawer__list-item" 3021 style="--menu-drawer-animation-index: 8;" 3022 > 3023 <a 3024 id="HeaderDrawer-nails-nail-extensions-nail-glue" 3025 href="/collections/nail-extensions-nail-glue" 3026 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3027 3028 > 3029
3030 <span class="menu-drawer__menu-item-text wrap-text">Nail Glue</span> 3031 </a> 3032 </li></ul></li><li 3033 class=" 3034 menu-drawer__list-item 3035 menu-drawer__list-item--flat 3036 " 3037 > 3038 3039<a 3040 id="HeaderDrawer-nails-gel-nail-polish" 3041 href="/collections/gel-nail-polish" 3042 class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset" 3043 > 3044 <span class="menu-drawer__menu-item-text wrap-text">Gel & Nail Polish</span> 3045 </a> 3046 3047 <ul 3048 class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content" 3049 role="list" 3050 tabindex="-1" 3051 ><li 3052 class="menu-drawer__list-item" 3053 style="--menu-drawer-animation-index: 1;" 3054 > 3055 <a 3056 id="HeaderDrawer-nails-gel-nail-polish-nail-polish" 3057 href="/collections/nail-polish" 3058 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3059 3060 > 3061 3062 <span class="menu-drawer__menu-item-text wrap-text">Nail Polish</span> 3063 </a> 3064 </li><li 3065 class="menu-drawer__list-item" 3066 style="--menu-drawer-animation-index: 2;" 3067 > 3068 <a 3069 id="HeaderDrawer-nails-gel-nail-polish-hema-tpo-free-gel-polish" 3070 href="/collections/https-www-tnbl-co-uk-collections-hema-tpo-free-gel-polish" 3071 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3072 3073 > 3074 3075 <span class="menu-drawer__menu-item-text wrap-text">Hema + TPO Free Gel Polish</span> 3076 </a> 3077 </li><li 3078 class="menu-drawer__list-item" 3079 style="--menu-drawer-animation-index: 3;" 3080 > 3081 <a 3082 id="HeaderDrawer-nails-gel-nail-polish-gel-polish" 3083 href="/collections/gel-nail-polish-gel-polish" 3084 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3085 3086 > 3087 3088 <span class="menu-drawer__menu-item-text wrap-text">Gel Polish</span> 3089 </a> 3090 </li><li 3091 class="menu-drawer__list-item" 3092 style="--menu-drawer-animation-index: 4;" 3093 > 3094 <a 3095 id="HeaderDrawer-nails-gel-nail-polish-builder-gel-biab" 3096 href="/collections/builder
3096-gel-biab" 3097 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3098 3099 > 3100 3101 <span class="menu-drawer__menu-item-text wrap-text">Builder Gel (BIAB)</span> 3102 </a> 3103 </li><li 3104 class="menu-drawer__list-item" 3105 style="--menu-drawer-animation-index: 5;" 3106 > 3107 <a 3108 id="HeaderDrawer-nails-gel-nail-polish-hard-gel" 3109 href="/collections/gel-nail-polish-hard-gel" 3110 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3111 3112 > 3113 3114 <span class="menu-drawer__menu-item-text wrap-text">Hard Gel</span> 3115 </a> 3116 </li><li 3117 class="menu-drawer__list-item" 3118 style="--menu-drawer-animation-index: 6;" 3119 > 3120 <a 3121 id="HeaderDrawer-nails-gel-nail-polish-poly-gel" 3122 href="/collections/poly-gel" 3123 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3124 3125 > 3126 3127 <span class="menu-drawer__menu-item-text wrap-text">Poly Gel</span> 3128 </a> 3129 </li><li 3130 class="menu-drawer__list-item" 3131 style="--menu-drawer-animation-index: 7;" 3132 > 3133 <a 3134 id="HeaderDrawer-nails-gel-nail-polish-gel-essentials" 3135 href="/collections/gel-nail-polish-gel-essentials" 3136 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3137 3138 > 3139 3140 <span class="menu-drawer__menu-item-text wrap-text">Gel Essentials</span> 3141 </a> 3142 </li><li 3143 class="menu-drawer__list-item" 3144 style="--menu-drawer-animation-index: 8;" 3145 > 3146 <a 3147 id="HeaderDrawer-nails-gel-nail-polish-nail-polish-essentials" 3148 href="/collections/nail-polish-essentials" 3149 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3150 3151 > 3152 3153 <span class="menu-drawer__menu-item-text wrap-text">Nail Polish Essentials</span> 3154 </a> 3155 </li><li 3156 class="menu-drawer__list-item" 3157 style="--menu-drawer-animation-index: 9;" 3158 > 3159 <a 3160 id="HeaderDrawer-nails-gel-nail-polish-gel-art" 3161 href="/collections/gel-nail-polish-gel-art" 3162 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3163 3164 > 3165
3166 <span class="menu-drawer__menu-item-text wrap-text">Gel Art</span> 3167 </a> 3168 </li></ul></li><li 3169 class=" 3170 menu-drawer__list-item 3171 menu-drawer__list-item--flat 3172 " 3173 > 3174 3175<a 3176 id="HeaderDrawer-nails-nail-art" 3177 href="/collections/nail-art" 3178 class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset" 3179 > 3180 <span class="menu-drawer__menu-item-text wrap-text">Nail Art</span> 3181 </a> 3182 3183 <ul 3184 class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content" 3185 role="list" 3186 tabindex="-1" 3187 ><li 3188 class="menu-drawer__list-item" 3189 style="--menu-drawer-animation-index: 1;" 3190 > 3191 <a 3192 id="HeaderDrawer-nails-nail-art-nail-art-brushes-tools" 3193 href="/collections/nail-art-brushes-tools" 3194 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3195 3196 > 3197 3198 <span class="menu-drawer__menu-item-text wrap-text">Nail Art Brushes & Tools</span> 3199 </a> 3200 </li><li 3201 class="menu-drawer__list-item" 3202 style="--menu-drawer-animation-index: 2;" 3203 > 3204 <a 3205 id="HeaderDrawer-nails-nail-art-chrome-powders-pigments" 3206 href="/collections/nail-art-chrome-powders-pigments" 3207 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3208 3209 > 3210 3211 <span class="menu-drawer__menu-item-text wrap-text">Chrome Powders & Pigments</span> 3212 </a> 3213 </li><li 3214 class="menu-drawer__list-item" 3215 style="--menu-drawer-animation-index: 3;" 3216 > 3217 <a 3218 id="HeaderDrawer-nails-nail-art-crystals-rhinestones" 3219 href="/collections/nail-art-crystal-rhinestones" 3220 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3221 3222 > 3223 3224 <span class="menu-drawer__menu-item-text wrap-text">Crystals & Rhinestones</span> 3225 </a> 3226 </li><li 3227 class="menu-drawer__list-item" 3228 style="--menu-drawer-animation-index: 4;" 3229 > 3230 <a 3231 id="HeaderDrawer-nails-nail-art-glitters" 3232 href="/collections/nail-art-glitters" 3233 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3234 3235 > 3236
3237 <span class="menu-drawer__menu-item-text wrap-text">Glitters</span> 3238 </a> 3239 </li><li 3240 class="menu-drawer__list-item" 3241 style="--menu-drawer-animation-index: 5;" 3242 > 3243 <a 3244 id="HeaderDrawer-nails-nail-art-glitter-shapes" 3245 href="/collections/nail-art-glitter-shapes" 3246 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3247 3248 > 3249 3250 <span class="menu-drawer__menu-item-text wrap-text">Glitter Shapes</span> 3251 </a> 3252 </li><li 3253 class="menu-drawer__list-item" 3254 style="--menu-drawer-animation-index: 6;" 3255 > 3256 <a 3257 id="HeaderDrawer-nails-nail-art-stickers" 3258 href="/collections/nail-art-stickers" 3259 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3260 3261 > 3262 3263 <span class="menu-drawer__menu-item-text wrap-text">Stickers</span> 3264 </a> 3265 </li><li 3266 class="menu-drawer__list-item" 3267 style="--menu-drawer-animation-index: 7;" 3268 > 3269 <a 3270 id="HeaderDrawer-nails-nail-art-charms-decals" 3271 href="/collections/nail-art-charms-decals" 3272 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3273 3274 > 3275 3276 <span class="menu-drawer__menu-item-text wrap-text">Charms & Decals</span> 3277 </a> 3278 </li><li 3279 class="menu-drawer__list-item" 3280 style="--menu-drawer-animation-index: 8;" 3281 > 3282 <a 3283 id="HeaderDrawer-nails-nail-art-angel-paper-transfer-foils" 3284 href="/collections/nail-art-angel-paper-transfer-foils" 3285 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3286 3287 > 3288 3289 <span class="menu-drawer__menu-item-text wrap-text">Angel Paper & Transfer Foils</span> 3290 </a> 3291 </li><li 3292 class="menu-drawer__list-item" 3293 style="--menu-drawer-animation-index: 9;" 3294 > 3295 <a 3296 id="HeaderDrawer-nails-nail-art-flakes" 3297 href="/collections/nail-art-flakes" 3298 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3299 3300 > 3301
3302 <span class="menu-drawer__menu-item-text wrap-text">Flakes</span> 3303 </a> 3304 </li><li 3305 class="menu-drawer__list-item" 3306 style="--menu-drawer-animation-index: 10;" 3307 > 3308 <a 3309 id="HeaderDrawer-nails-nail-art-dried-flowers" 3310 href="/collections/nail-art-dried-flowers" 3311 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3312 3313 > 3314 3315 <span class="menu-drawer__menu-item-text wrap-text">Dried Flowers</span> 3316 </a> 3317 </li><li 3318 class="menu-drawer__list-item" 3319 style="--menu-drawer-animation-index: 11;" 3320 > 3321 <a 3322 id="HeaderDrawer-nails-nail-art-fimo" 3323 href="/collections/nail-art-fimo" 3324 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3325 3326 > 3327 3328 <span class="menu-drawer__menu-item-text wrap-text">Fimo</span> 3329 </a> 3330 </li><li 3331 class="menu-drawer__list-item" 3332 style="--menu-drawer-animation-index: 12;" 3333 > 3334 <a 3335 id="HeaderDrawer-nails-nail-art-chains" 3336 href="/collections/nail-art-chains" 3337 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3338 3339 > 3340 3341 <span class="menu-drawer__menu-item-text wrap-text">Chains</span> 3342 </a> 3343 </li><li 3344 class="menu-drawer__list-item" 3345 style="--menu-drawer-animation-index: 13;" 3346 > 3347 <a 3348 id="HeaderDrawer-nails-nail-art-netting-lace" 3349 href="/collections/nail-art-netting-lace" 3350 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3351 3352 > 3353 3354 <span class="menu-drawer__menu-item-text wrap-text">Netting & Lace</span> 3355 </a> 3356 </li><li 3357 class="menu-drawer__list-item" 3358 style="--menu-drawer-animation-index: 14;" 3359 > 3360 <a 3361 id="HeaderDrawer-nails-nail-art-micro-beads" 3362 href="/collections/nail-art-micro-beads" 3363 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3364 3365 > 3366
3367 <span class="menu-drawer__menu-item-text wrap-text">Micro Beads</span> 3368 </a> 3369 </li><li 3370 class="menu-drawer__list-item" 3371 style="--menu-drawer-animation-index: 15;" 3372 > 3373 <a 3374 id="HeaderDrawer-nails-nail-art-nail-art-stripers-paint" 3375 href="/collections/nail-art-stripers-paint" 3376 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3377 3378 > 3379 3380 <span class="menu-drawer__menu-item-text wrap-text">Nail Art Stripers & Paint</span> 3381 </a> 3382 </li><li 3383 class="menu-drawer__list-item" 3384 style="--menu-drawer-animation-index: 16;" 3385 > 3386 <a 3387 id="HeaderDrawer-nails-nail-art-other" 3388 href="/collections/nail-art-other" 3389 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3390 3391 > 3392 3393 <span class="menu-drawer__menu-item-text wrap-text">Other</span> 3394 </a> 3395 </li></ul></li><li 3396 class=" 3397 menu-drawer__list-item 3398 menu-drawer__list-item--flat 3399 " 3400 > 3401 3402<a 3403 id="HeaderDrawer-nails-nail-tools-accessories" 3404 href="/collections/nail-tools-accessories" 3405 class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset" 3406 > 3407 <span class="menu-drawer__menu-item-text wrap-text">Nail Tools & Accessories</span> 3408 </a> 3409 3410 <ul 3411 class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content" 3412 role="list" 3413 tabindex="-1" 3414 ><li 3415 class="menu-drawer__list-item" 3416 style="--menu-drawer-animation-index: 1;" 3417 > 3418 <a 3419 id="HeaderDrawer-nails-nail-tools-accessories-brushes" 3420 href="/collections/nail-tools-accessories-brushes" 3421 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3422 3423 > 3424 3425 <span class="menu-drawer__menu-item-text wrap-text">Brushes</span> 3426 </a> 3427 </li><li 3428 class="menu-drawer__list-item" 3429 style="--menu-drawer-animation-index: 2;" 3430 > 3431 <a 3432 id="HeaderDrawer-nails-nail-tools-accessories-cuticle-pushers-nippers" 3433 href="/collections/cuticle-pushers-nippers" 3434 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3435 3436 > 3437
3438 <span class="menu-drawer__menu-item-text wrap-text">Cuticle Pushers & Nippers</span> 3439 </a> 3440 </li><li 3441 class="menu-drawer__list-item" 3442 style="--menu-drawer-animation-index: 3;" 3443 > 3444 <a 3445 id="HeaderDrawer-nails-nail-tools-accessories-tip-cutters-nail-clippers" 3446 href="/collections/tip-cutters-nail-clippers" 3447 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3448 3449 > 3450 3451 <span class="menu-drawer__menu-item-text wrap-text">Tip Cutters & Nail Clippers</span> 3452 </a> 3453 </li><li 3454 class="menu-drawer__list-item" 3455 style="--menu-drawer-animation-index: 4;" 3456 > 3457 <a 3458 id="HeaderDrawer-nails-nail-tools-accessories-nail-files-buffers" 3459 href="/collections/nail-files-buffers" 3460 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3461 3462 > 3463 3464 <span class="menu-drawer__menu-item-text wrap-text">Nail Files & Buffers</span> 3465 </a> 3466 </li><li 3467 class="menu-drawer__list-item" 3468 style="--menu-drawer-animation-index: 5;" 3469 > 3470 <a 3471 id="HeaderDrawer-nails-nail-tools-accessories-drill-bits-accessories" 3472 href="/collections/drill-bits-accessories" 3473 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3474 3475 > 3476 3477 <span class="menu-drawer__menu-item-text wrap-text">Drill Bits & Accessories</span> 3478 </a> 3479 </li><li 3480 class="menu-drawer__list-item" 3481 style="--menu-drawer-animation-index: 6;" 3482 > 3483 <a 3484 id="HeaderDrawer-nails-nail-tools-accessories-implements" 3485 href="/collections/nail-tools-accessories-implements" 3486 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3487 3488 > 3489 3490 <span class="menu-drawer__menu-item-text wrap-text">Implements</span> 3491 </a> 3492 </li><li 3493 class="menu-drawer__list-item" 3494 style="--menu-drawer-animation-index: 7;" 3495 > 3496 <a 3497 id="HeaderDrawer-nails-nail-tools-accessories-dappen-dishes" 3498 href="/collections/dappen-dishes" 3499 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3500 3501 > 3502
3503 <span class="menu-drawer__menu-item-text wrap-text">Dappen Dishes</span> 3504 </a> 3505 </li><li 3506 class="menu-drawer__list-item" 3507 style="--menu-drawer-animation-index: 8;" 3508 > 3509 <a 3510 id="HeaderDrawer-nails-nail-tools-accessories-storage" 3511 href="/collections/nail-tools-accessories-storage" 3512 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3513 3514 > 3515 3516 <span class="menu-drawer__menu-item-text wrap-text">Storage</span> 3517 </a> 3518 </li><li 3519 class="menu-drawer__list-item" 3520 style="--menu-drawer-animation-index: 9;" 3521 > 3522 <a 3523 id="HeaderDrawer-nails-nail-tools-accessories-display-swatches" 3524 href="/collections/displays-swatches" 3525 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3526 3527 > 3528 3529 <span class="menu-drawer__menu-item-text wrap-text">Display & Swatches</span> 3530 </a> 3531 </li><li 3532 class="menu-drawer__list-item" 3533 style="--menu-drawer-animation-index: 10;" 3534 > 3535 <a 3536 id="HeaderDrawer-nails-nail-tools-accessories-practice-hands-fingers" 3537 href="/collections/practise-hands-fingers" 3538 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3539 3540 > 3541 3542 <span class="menu-drawer__menu-item-text wrap-text">Practice Hands & Fingers</span> 3543 </a> 3544 </li><li 3545 class="menu-drawer__list-item" 3546 style="--menu-drawer-animation-index: 11;" 3547 > 3548 <a 3549 id="HeaderDrawer-nails-nail-tools-accessories-soak-off" 3550 href="/collections/nail-tools-accessories-soak-off" 3551 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3552 3553 > 3554 3555 <span class="menu-drawer__menu-item-text wrap-text">Soak Off</span> 3556 </a> 3557 </li></ul></li><li 3558 class=" 3559 menu-drawer__list-item 3560 menu-drawer__list-item--flat 3561 " 3562 > 3563 3564<a 3565 id="HeaderDrawer-nails-salon-care-hygiene" 3566 href="/collections/salon-essentials-hygiene" 3567 class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset" 3568 >
3569 <span class="menu-drawer__menu-item-text wrap-text">Salon Care & Hygiene</span> 3570 </a> 3571 3572 <ul 3573 class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content" 3574 role="list" 3575 tabindex="-1" 3576 ><li 3577 class="menu-drawer__list-item" 3578 style="--menu-drawer-animation-index: 1;" 3579 > 3580 <a 3581 id="HeaderDrawer-nails-salon-care-hygiene-nail-wipes" 3582 href="/collections/hygiene-nail-wipes" 3583 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3584 3585 > 3586 3587 <span class="menu-drawer__menu-item-text wrap-text">Nail Wipes</span> 3588 </a> 3589 </li><li 3590 class="menu-drawer__list-item" 3591 style="--menu-drawer-animation-index: 2;" 3592 > 3593 <a 3594 id="HeaderDrawer-nails-salon-care-hygiene-face-mask-gloves" 3595 href="/collections/hygiene-face-masks-gloves" 3596 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3597 3598 > 3599 3600 <span class="menu-drawer__menu-item-text wrap-text">Face Mask & Gloves</span> 3601 </a> 3602 </li><li 3603 class="menu-drawer__list-item" 3604 style="--menu-drawer-animation-index: 3;" 3605 > 3606 <a 3607 id="HeaderDrawer-nails-salon-care-hygiene-table-mats" 3608 href="/collections/hygiene-table-mats" 3609 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3610 3611 > 3612 3613 <span class="menu-drawer__menu-item-text wrap-text">Table Mats</span> 3614 </a> 3615 </li><li 3616 class="menu-drawer__list-item" 3617 style="--menu-drawer-animation-index: 4;" 3618 > 3619 <a 3620 id="HeaderDrawer-nails-salon-care-hygiene-sanitisers-disinfectants" 3621 href="/collections/hygiene-sanitizers-disinfectants" 3622 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3623 3624 > 3625 3626 <span class="menu-drawer__menu-item-text wrap-text">Sanitisers & Disinfectants</span> 3627 </a> 3628 </li><li 3629 class="menu-drawer__list-item" 3630 style="--menu-drawer-animation-index: 5;" 3631 > 3632 <a 3633 id="HeaderDrawer-nails-salon-care-hygiene-empty-bottles-pots"
3634 href="/collections/hygiene-empty-bottles-accessories" 3635 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3636 3637 > 3638 3639 <span class="menu-drawer__menu-item-text wrap-text">Empty Bottles & Pots</span> 3640 </a> 3641 </li><li 3642 class="menu-drawer__list-item" 3643 style="--menu-drawer-animation-index: 6;" 3644 > 3645 <a 3646 id="HeaderDrawer-nails-salon-care-hygiene-miscellaneous" 3647 href="/collections/nail-kits-misc" 3648 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3649 3650 > 3651 3652 <span class="menu-drawer__menu-item-text wrap-text">Miscellaneous</span> 3653 </a> 3654 </li></ul></li><li 3655 class=" 3656 menu-drawer__list-item 3657 menu-drawer__list-item--flat 3658 " 3659 > 3660 3661<a 3662 id="HeaderDrawer-nails-nail-kits" 3663 href="/collections/nail-kits" 3664 class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset" 3665 > 3666 <span class="menu-drawer__menu-item-text wrap-text">Nail Kits</span> 3667 </a> 3668 3669 <ul 3670 class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content" 3671 role="list" 3672 tabindex="-1" 3673 ><li 3674 class="menu-drawer__list-item" 3675 style="--menu-drawer-animation-index: 1;" 3676 > 3677 <a 3678 id="HeaderDrawer-nails-nail-kits-acrylic-nail-kits" 3679 href="/collections/nail-kits-acrylic-nail-kits" 3680 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3681 3682 > 3683 3684 <span class="menu-drawer__menu-item-text wrap-text">Acrylic Nail Kits</span> 3685 </a> 3686 </li><li 3687 class="menu-drawer__list-item" 3688 style="--menu-drawer-animation-index: 2;" 3689 > 3690 <a 3691 id="HeaderDrawer-nails-nail-kits-gel-nail-kits" 3692 href="/collections/nail-kits-gel-nail-kits" 3693 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3694 3695 > 3696 3697 <span class="menu-drawer__menu-item-text wrap-text">Gel Nail Kits</span> 3698 </a> 3699 </li><li 3700 class="menu-drawer__list-item" 3701 style="--menu-drawer-animation-index: 3;" 3702 > 3703 <a 3704 id="HeaderDrawer-nails-nail-kits-nail-art-kits" 3705 href="/collections/nail-kits-nail-art-kits" 3706 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3707 3708 > 3709
3710 <span class="menu-drawer__menu-item-text wrap-text">Nail Art Kits</span> 3711 </a> 3712 </li><li 3713 class="menu-drawer__list-item" 3714 style="--menu-drawer-animation-index: 4;" 3715 > 3716 <a 3717 id="HeaderDrawer-nails-nail-kits-soft-gel-extensions" 3718 href="/collections/nail-extensions-soft-gel-extensions" 3719 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3720 3721 > 3722 3723 <span class="menu-drawer__menu-item-text wrap-text">Soft Gel Extensions</span> 3724 </a> 3725 </li><li 3726 class="menu-drawer__list-item" 3727 style="--menu-drawer-animation-index: 5;" 3728 > 3729 <a 3730 id="HeaderDrawer-nails-nail-kits-dip-powder-kits" 3731 href="/collections/nail-extensions-dip-powder" 3732 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3733 3734 > 3735 3736 <span class="menu-drawer__menu-item-text wrap-text">Dip Powder Kits</span> 3737 </a> 3738 </li><li 3739 class="menu-drawer__list-item" 3740 style="--menu-drawer-animation-index: 6;" 3741 > 3742 <a 3743 id="HeaderDrawer-nails-nail-kits-misc" 3744 href="/collections/nail-kits-misc" 3745 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3746 3747 > 3748 3749 <span class="menu-drawer__menu-item-text wrap-text">Misc</span> 3750 </a> 3751 </li></ul></li><li 3752 class=" 3753 menu-drawer__list-item 3754 menu-drawer__list-item--flat 3755 " 3756 > 3757 3758<a 3759 id="HeaderDrawer-nails-manicure-pedicure" 3760 href="/collections/manicure-pedicure" 3761 class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset" 3762 > 3763 <span class="menu-drawer__menu-item-text wrap-text">Manicure & Pedicure</span> 3764 </a> 3765 3766 <ul 3767 class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content" 3768 role="list" 3769 tabindex="-1" 3770 ><li 3771 class="menu-drawer__list-item" 3772 style="--menu-drawer-animation-index: 1;" 3773 > 3774 <a 3775 id="HeaderDrawer-nails-manicure-pedicure-nail-cuticle-care" 3776 href="/collections/manicure-pedicure-nail-cuticle-care" 3777 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3778 3779 > 3780
3781 <span class="menu-drawer__menu-item-text wrap-text">Nail & Cuticle Care</span> 3782 </a> 3783 </li><li 3784 class="menu-drawer__list-item" 3785 style="--menu-drawer-animation-index: 2;" 3786 > 3787 <a 3788 id="HeaderDrawer-nails-manicure-pedicure-moisturising-lotions-creams" 3789 href="/collections/manicure-pedicure-moisturising-lotions-creams" 3790 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3791 3792 > 3793 3794 <span class="menu-drawer__menu-item-text wrap-text">Moisturising Lotions & Creams</span> 3795 </a> 3796 </li><li 3797 class="menu-drawer__list-item" 3798 style="--menu-drawer-animation-index: 3;" 3799 > 3800 <a 3801 id="HeaderDrawer-nails-manicure-pedicure-soaks-scrubs" 3802 href="/collections/manicure-pedicure-soaks-scrubs" 3803 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3804 3805 > 3806 3807 <span class="menu-drawer__menu-item-text wrap-text">Soaks & Scrubs</span> 3808 </a> 3809 </li><li 3810 class="menu-drawer__list-item" 3811 style="--menu-drawer-animation-index: 4;" 3812 > 3813 <a 3814 id="HeaderDrawer-nails-manicure-pedicure-masks" 3815 href="/collections/manicure-pedicure-masks" 3816 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3817 3818 > 3819 3820 <span class="menu-drawer__menu-item-text wrap-text">Masks</span> 3821 </a> 3822 </li><li 3823 class="menu-drawer__list-item" 3824 style="--menu-drawer-animation-index: 5;" 3825 > 3826 <a 3827 id="HeaderDrawer-nails-manicure-pedicure-foot-files-accessories" 3828 href="/collections/manicure-pedicure-foot-file-accesories" 3829 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3830 3831 > 3832 3833 <span class="menu-drawer__menu-item-text wrap-text">Foot Files & Accessories</span> 3834 </a> 3835 </li><li 3836 class="menu-drawer__list-item" 3837 style="--menu-drawer-animation-index: 6;" 3838 > 3839 <a 3840 id="HeaderDrawer-nails-manicure-pedicure-bowls-accessories" 3841 href="/collections/manicure-pedicure-bowls-accesories" 3842 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3843 3844 > 3845
3846 <span class="menu-drawer__menu-item-text wrap-text">Bowls & Accessories</span> 3847 </a> 3848 </li><li 3849 class="menu-drawer__list-item" 3850 style="--menu-drawer-animation-index: 7;" 3851 > 3852 <a 3853 id="HeaderDrawer-nails-manicure-pedicure-toe-separators-slippers" 3854 href="/collections/manicure-pedicure-toe-seperators-slippers" 3855 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3856 3857 > 3858 3859 <span class="menu-drawer__menu-item-text wrap-text">Toe Separators & Slippers</span> 3860 </a> 3861 </li></ul></li><li 3862 class=" 3863 menu-drawer__list-item 3864 menu-drawer__list-item--flat 3865 " 3866 > 3867 3868<a 3869 id="HeaderDrawer-nails-miscellaneous" 3870 href="/collections/nails-misc" 3871 class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset" 3872 > 3873 <span class="menu-drawer__menu-item-text wrap-text">Miscellaneous</span> 3874 </a> 3875 3876 <ul 3877 class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content" 3878 role="list" 3879 tabindex="-1" 3880 ><li 3881 class="menu-drawer__list-item" 3882 style="--menu-drawer-animation-index: 1;" 3883 > 3884 <a 3885 id="HeaderDrawer-nails-miscellaneous-salon-posters" 3886 href="/collections/misc-salon-posters" 3887 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3888 3889 > 3890 3891 <span class="menu-drawer__menu-item-text wrap-text">Salon Posters</span> 3892 </a> 3893 </li></ul></li></ul> 3894 3895 </div> 3896 </div> 3897 </details></li> 3898 <li 3899 class="menu-drawer__list-item" 3900 style="--menu-drawer-animation-index: 4;" 3901 ><details 3902 id="Details-menu-drawer-menu-item-4" 3903 class="menu-drawer__menu-container" 3904 > 3905 <summary 3906 id="HeaderDrawer-beauty" 3907 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 3908 on:click="header-drawer/open" 3909 > 3910 <span class="menu-drawer__menu-item-text wrap-text">Beauty</span> 3911 <span class="svg-wrapper icon-caret icon-caret--forward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 3912 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3913</svg> 3914</span> 3915 </summary> 3916 <div 3917 id="link-beauty" 3918 class="menu-drawer__submenu has-submenu gradient motion-reduce" 3919 tabindex="-1" 3920 style="--menu-drawer-animation-index: 4;" 3921 > 3922 <div class="menu-drawer__inner-submenu"> 3923 <div class="menu-drawer__nav-buttons"> 3924 <button 3925 class="button menu-drawer__back-button focus-inset" 3926 aria-expanded="true" 3927 on:click="header-drawer/back" 3928 aria-label="Back" 3929 >
3930 <span class="svg-wrapper icon-caret icon-caret--backward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 3931 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3932</svg> 3933</span> 3934 <span class="menu-drawer__menu-item-text wrap-text">Beauty</span> 3935 </button> 3936 <button 3937 class="button button-unstyled close-button menu-drawer__close-button" 3938 type="button" 3939 aria-label="Close" 3940 on:click="header-drawer/close" 3941 > 3942 <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 3943 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3944 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3945</svg> 3946</span> 3947 </button> 3948 </div> 3949 3950 3951 <ul 3952 class="menu-drawer__menu menu-drawer__menu--childlist" 3953 role="list" 3954 tabindex="-1" 3955 > 3956 <li 3957 class=" 3958 menu-drawer__list-item 3959 menu-drawer__list-item--flat 3960 " 3961 > 3962 3963<a 3964 id="HeaderDrawer-beauty-beauty" 3965 href="/collections/beauty" 3966 class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset" 3967 > 3968 <span class="menu-drawer__menu-item-text wrap-text">Beauty</span> 3969 </a> 3970 3971 <ul 3972 class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content" 3973 role="list" 3974 tabindex="-1" 3975 ><li 3976 class="menu-drawer__list-item" 3977 style="--menu-drawer-animation-index: 1;" 3978 > 3979 <a 3980 id="HeaderDrawer-beauty-beauty-body" 3981 href="/collections/body" 3982 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3983 3984 > 3985 3986 <span class="menu-drawer__menu-item-text wrap-text">Body</span> 3987 </a> 3988 </li><li 3989 class="menu-drawer__list-item" 3990 style="--menu-drawer-animation-index: 2;" 3991 > 3992 <a 3993 id="HeaderDrawer-beauty-beauty-eyebrows" 3994 href="/collections/eyebrows" 3995 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3996 3997 > 3998
3999 <span class="menu-drawer__menu-item-text wrap-text">Eyebrows</span> 4000 </a> 4001 </li><li 4002 class="menu-drawer__list-item" 4003 style="--menu-drawer-animation-index: 3;" 4004 > 4005 <a 4006 id="HeaderDrawer-beauty-beauty-eyelashes" 4007 href="/collections/eyelashes" 4008 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4009 4010 > 4011 4012 <span class="menu-drawer__menu-item-text wrap-text">Eyelashes</span> 4013 </a> 4014 </li><li 4015 class="menu-drawer__list-item" 4016 style="--menu-drawer-animation-index: 4;" 4017 > 4018 <a 4019 id="HeaderDrawer-beauty-beauty-waxing" 4020 href="/collections/waxing" 4021 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4022 4023 > 4024 4025 <span class="menu-drawer__menu-item-text wrap-text">Waxing</span> 4026 </a> 4027 </li><li 4028 class="menu-drawer__list-item" 4029 style="--menu-drawer-animation-index: 5;" 4030 > 4031 <a 4032 id="HeaderDrawer-beauty-beauty-tanning" 4033 href="/collections/tanning" 4034 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4035 4036 > 4037 4038 <span class="menu-drawer__menu-item-text wrap-text">Tanning</span> 4039 </a> 4040 </li><li 4041 class="menu-drawer__list-item" 4042 style="--menu-drawer-animation-index: 6;" 4043 > 4044 <a 4045 id="HeaderDrawer-beauty-beauty-facial" 4046 href="/collections/facial" 4047 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4048 4049 > 4050 4051 <span class="menu-drawer__menu-item-text wrap-text">Facial</span> 4052 </a> 4053 </li></ul></li></ul> 4054 4055 </div> 4056 </div> 4057 </details></li> 4058 <li 4059 class="menu-drawer__list-item" 4060 style="--menu-drawer-animation-index: 5;" 4061 ><details 4062 id="Details-menu-drawer-menu-item-5" 4063 class="menu-drawer__menu-container" 4064 > 4065 <summary 4066 id="HeaderDrawer-electricals" 4067 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 4068 on:click="header-drawer/open" 4069 >
4070 <span class="menu-drawer__menu-item-text wrap-text">Electricals</span> 4071 <span class="svg-wrapper icon-caret icon-caret--forward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 4072 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4073</svg> 4074</span> 4075 </summary> 4076 <div 4077 id="link-electricals" 4078 class="menu-drawer__submenu has-submenu gradient motion-reduce" 4079 tabindex="-1" 4080 style="--menu-drawer-animation-index: 5;" 4081 > 4082 <div class="menu-drawer__inner-submenu"> 4083 <div class="menu-drawer__nav-buttons"> 4084 <button 4085 class="button menu-drawer__back-button focus-inset" 4086 aria-expanded="true" 4087 on:click="header-drawer/back" 4088 aria-label="Back" 4089 > 4090 <span class="svg-wrapper icon-caret icon-caret--backward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 4091 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4092</svg> 4093</span> 4094 <span class="menu-drawer__menu-item-text wrap-text">Electricals</span> 4095 </button> 4096 <button 4097 class="button button-unstyled close-button menu-drawer__close-button" 4098 type="button" 4099 aria-label="Close" 4100 on:click="header-drawer/close" 4101 > 4102 <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 4103 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4104 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4105</svg> 4106</span> 4107 </button> 4108 </div> 4109 4110 4111 <ul 4112 class="menu-drawer__menu menu-drawer__menu--childlist" 4113 role="list" 4114 tabindex="-1" 4115 > 4116 <li 4117 class=" 4118 menu-drawer__list-item 4119 menu-drawer__list-item--flat 4120 " 4121 > 4122 4123<a 4124 id="HeaderDrawer-electricals-electricals" 4125 href="/collections/electricals" 4126 class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset" 4127 > 4128 <span class="menu-drawer__menu-item-text wrap-text">Electricals</span> 4129 </a> 4130 4131 <ul 4132 class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content" 4133 role="list" 4134 tabindex="-1" 4135 ><li 4136 class="menu-drawer__list-item" 4137 style="--menu-drawer-animation-index: 1;" 4138 > 4139 <a 4140 id="HeaderDrawer-electricals-electricals-nail-file-machines" 4141 href="/collections/nail-file-machines" 4142 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4143 4144 > 4145
4146 <span class="menu-drawer__menu-item-text wrap-text">Nail File Machines</span> 4147 </a> 4148 </li><li 4149 class="menu-drawer__list-item" 4150 style="--menu-drawer-animation-index: 2;" 4151 > 4152 <a 4153 id="HeaderDrawer-electricals-electricals-uv-led-lamps" 4154 href="/collections/uv-led-lamps" 4155 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4156 4157 > 4158 4159 <span class="menu-drawer__menu-item-text wrap-text">UV/LED Lamps</span> 4160 </a> 4161 </li><li 4162 class="menu-drawer__list-item" 4163 style="--menu-drawer-animation-index: 3;" 4164 > 4165 <a 4166 id="HeaderDrawer-electricals-electricals-dust-collector" 4167 href="/collections/dust-collector" 4168 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4169 4170 > 4171 4172 <span class="menu-drawer__menu-item-text wrap-text">Dust Collector</span> 4173 </a> 4174 </li><li 4175 class="menu-drawer__list-item" 4176 style="--menu-drawer-animation-index: 4;" 4177 > 4178 <a 4179 id="HeaderDrawer-electricals-electricals-table-lamps" 4180 href="/collections/table-lamps" 4181 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4182 4183 > 4184 4185 <span class="menu-drawer__menu-item-text wrap-text">Table Lamps</span> 4186 </a> 4187 </li><li 4188 class="menu-drawer__list-item" 4189 style="--menu-drawer-animation-index: 5;" 4190 > 4191 <a 4192 id="HeaderDrawer-electricals-electricals-nail-dryers" 4193 href="/collections/nail-dryers" 4194 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4195 4196 > 4197 4198 <span class="menu-drawer__menu-item-text wrap-text">Nail Dryers</span> 4199 </a> 4200 </li><li 4201 class="menu-drawer__list-item" 4202 style="--menu-drawer-animation-index: 6;" 4203 > 4204 <a 4205 id="HeaderDrawer-electricals-electricals-wax-heaters" 4206 href="/collections/wax-heaters" 4207 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4208 4209 > 4210
4211 <span class="menu-drawer__menu-item-text wrap-text">Wax Heaters</span> 4212 </a> 4213 </li><li 4214 class="menu-drawer__list-item" 4215 style="--menu-drawer-animation-index: 7;" 4216 > 4217 <a 4218 id="HeaderDrawer-electricals-electricals-steriliser" 4219 href="/collections/steriliser" 4220 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4221 4222 > 4223 4224 <span class="menu-drawer__menu-item-text wrap-text">Steriliser</span> 4225 </a> 4226 </li><li 4227 class="menu-drawer__list-item" 4228 style="--menu-drawer-animation-index: 8;" 4229 > 4230 <a 4231 id="HeaderDrawer-electricals-electricals-towel-warmers" 4232 href="/collections/towel-warmers" 4233 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4234 4235 > 4236 4237 <span class="menu-drawer__menu-item-text wrap-text">Towel Warmers</span> 4238 </a> 4239 </li><li 4240 class="menu-drawer__list-item" 4241 style="--menu-drawer-animation-index: 9;" 4242 > 4243 <a 4244 id="HeaderDrawer-electricals-electricals-accessories-spares" 4245 href="/collections/accessories-spare-parts" 4246 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4247 4248 > 4249 4250 <span class="menu-drawer__menu-item-text wrap-text">Accessories & Spares</span> 4251 </a> 4252 </li><li 4253 class="menu-drawer__list-item" 4254 style="--menu-drawer-animation-index: 10;" 4255 > 4256 <a 4257 id="HeaderDrawer-electricals-electricals-servicing-repairs" 4258 href="/collections/servicing-repairs" 4259 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4260 4261 > 4262 4263 <span class="menu-drawer__menu-item-text wrap-text">Servicing & Repairs</span> 4264 </a> 4265 </li></ul></li></ul> 4266 4267 </div> 4268 </div> 4269 </details></li> 4270 <li 4271 class="menu-drawer__list-item" 4272 style="--menu-drawer-animation-index: 6;" 4273 ><details 4274 id="Details-menu-drawer-menu-item-6" 4275 class="menu-drawer__menu-container" 4276 > 4277 <summary 4278 id="HeaderDrawer-furniture" 4279 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 4280 on:click="header-drawer/open" 4281 >
4282 <span class="menu-drawer__menu-item-text wrap-text">Furniture</span> 4283 <span class="svg-wrapper icon-caret icon-caret--forward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 4284 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4285</svg> 4286</span> 4287 </summary> 4288 <div 4289 id="link-furniture" 4290 class="menu-drawer__submenu has-submenu gradient motion-reduce" 4291 tabindex="-1" 4292 style="--menu-drawer-animation-index: 6;" 4293 > 4294 <div class="menu-drawer__inner-submenu"> 4295 <div class="menu-drawer__nav-buttons"> 4296 <button 4297 class="button menu-drawer__back-button focus-inset" 4298 aria-expanded="true" 4299 on:click="header-drawer/back" 4300 aria-label="Back" 4301 > 4302 <span class="svg-wrapper icon-caret icon-caret--backward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 4303 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4304</svg> 4305</span> 4306 <span class="menu-drawer__menu-item-text wrap-text">Furniture</span> 4307 </button> 4308 <button 4309 class="button button-unstyled close-button menu-drawer__close-button" 4310 type="button" 4311 aria-label="Close" 4312 on:click="header-drawer/close" 4313 > 4314 <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 4315 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4316 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4317</svg> 4318</span> 4319 </button> 4320 </div> 4321 4322 4323 <ul 4324 class="menu-drawer__menu menu-drawer__menu--childlist" 4325 role="list" 4326 tabindex="-1" 4327 > 4328 <li 4329 class=" 4330 menu-drawer__list-item 4331 menu-drawer__list-item--flat 4332 " 4333 > 4334 4335<a 4336 id="HeaderDrawer-furniture-furniture" 4337 href="/collections/furniture" 4338 class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset" 4339 > 4340 <span class="menu-drawer__menu-item-text wrap-text">Furniture</span> 4341 </a> 4342 4343 <ul 4344 class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content" 4345 role="list" 4346 tabindex="-1" 4347 ><li 4348 class="menu-drawer__list-item" 4349 style="--menu-drawer-animation-index: 1;" 4350 > 4351 <a 4352 id="HeaderDrawer-furniture-furniture-manicure-table" 4353 href="/collections/manicure-tables" 4354 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4355 4356 > 4357
4358 <span class="menu-drawer__menu-item-text wrap-text">Manicure Table</span> 4359 </a> 4360 </li><li 4361 class="menu-drawer__list-item" 4362 style="--menu-drawer-animation-index: 2;" 4363 > 4364 <a 4365 id="HeaderDrawer-furniture-furniture-pedicure-chairs" 4366 href="/collections/pedicure-chairs" 4367 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4368 4369 > 4370 4371 <span class="menu-drawer__menu-item-text wrap-text">Pedicure Chairs</span> 4372 </a> 4373 </li><li 4374 class="menu-drawer__list-item" 4375 style="--menu-drawer-animation-index: 3;" 4376 > 4377 <a 4378 id="HeaderDrawer-furniture-furniture-reception-desks" 4379 href="/collections/reception-desks" 4380 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4381 4382 > 4383 4384 <span class="menu-drawer__menu-item-text wrap-text">Reception Desks</span> 4385 </a> 4386 </li><li 4387 class="menu-drawer__list-item" 4388 style="--menu-drawer-animation-index: 4;" 4389 > 4390 <a 4391 id="HeaderDrawer-furniture-furniture-chairs-stools" 4392 href="/collections/chairs-stools" 4393 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4394 4395 > 4396 4397 <span class="menu-drawer__menu-item-text wrap-text">Chairs & Stools</span> 4398 </a> 4399 </li><li 4400 class="menu-drawer__list-item" 4401 style="--menu-drawer-animation-index: 5;" 4402 > 4403 <a 4404 id="HeaderDrawer-furniture-furniture-trolleys" 4405 href="/collections/trolleys" 4406 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4407 4408 > 4409 4410 <span class="menu-drawer__menu-item-text wrap-text">Trolleys</span> 4411 </a> 4412 </li><li 4413 class="menu-drawer__list-item" 4414 style="--menu-drawer-animation-index: 6;" 4415 > 4416 <a 4417 id="HeaderDrawer-furniture-furniture-arm-foot-rests" 4418 href="/collections/arm-foot-rests" 4419 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4420 4421 > 4422
4423 <span class="menu-drawer__menu-item-text wrap-text">Arm & Foot Rests</span> 4424 </a> 4425 </li><li 4426 class="menu-drawer__list-item" 4427 style="--menu-drawer-animation-index: 7;" 4428 > 4429 <a 4430 id="HeaderDrawer-furniture-furniture-wall-counter-displays" 4431 href="/collections/wall-counter-displays" 4432 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4433 4434 > 4435 4436 <span class="menu-drawer__menu-item-text wrap-text">Wall & Counter Displays</span> 4437 </a> 4438 </li></ul></li></ul> 4439 4440 </div> 4441 </div> 4442 </details></li> 4443 <li 4444 class="menu-drawer__list-item" 4445 style="--menu-drawer-animation-index: 7;" 4446 ><details 4447 id="Details-menu-drawer-menu-item-7" 4448 class="menu-drawer__menu-container" 4449 > 4450 <summary 4451 id="HeaderDrawer-brands" 4452 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 4453 on:click="header-drawer/open" 4454 > 4455 <span class="menu-drawer__menu-item-text wrap-text">Brands</span> 4456 <span class="svg-wrapper icon-caret icon-caret--forward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 4457 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4458</svg> 4459</span> 4460 </summary> 4461 <div 4462 id="link-brands" 4463 class="menu-drawer__submenu has-submenu gradient motion-reduce" 4464 tabindex="-1" 4465 style="--menu-drawer-animation-index: 7;" 4466 > 4467 <div class="menu-drawer__inner-submenu"> 4468 <div class="menu-drawer__nav-buttons"> 4469 <button 4470 class="button menu-drawer__back-button focus-inset" 4471 aria-expanded="true" 4472 on:click="header-drawer/back" 4473 aria-label="Back" 4474 > 4475 <span class="svg-wrapper icon-caret icon-caret--backward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 4476 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4477</svg> 4478</span> 4479 <span class="menu-drawer__menu-item-text wrap-text">Brands</span> 4480 </button> 4481 <button 4482 class="button button-unstyled close-button menu-drawer__close-button" 4483 type="button" 4484 aria-label="Close" 4485 on:click="header-drawer/close" 4486 > 4487 <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 4488 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4489 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4490</svg> 4491</span> 4492 </button> 4493 </div> 4494 4495 4496 <ul 4497 class="menu-drawer__menu menu-drawer__menu--childlist" 4498 role="list" 4499 tabindex="-1" 4500 > 4501 <li 4502 class=" 4503 menu-drawer__list-item 4504 menu-drawer__list-item--flat 4505 " 4506 > 4507 4508<a 4509 id="HeaderDrawer-brands-lorem-ipsum" 4510 href="/collections" 4511 class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset" 4512 >
4513 <span class="menu-drawer__menu-item-text wrap-text">Lorem Ipsum</span> 4514 </a> 4515 4516 <ul 4517 class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content" 4518 role="list" 4519 tabindex="-1" 4520 ><li 4521 class="menu-drawer__list-item" 4522 style="--menu-drawer-animation-index: 1;" 4523 > 4524 <a 4525 id="HeaderDrawer-brands-lorem-ipsum-777" 4526 href="/collections/777" 4527 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4528 4529 > 4530 4531 <span class="menu-drawer__menu-item-text wrap-text">777</span> 4532 </a> 4533 </li><li 4534 class="menu-drawer__list-item" 4535 style="--menu-drawer-animation-index: 2;" 4536 > 4537 <a 4538 id="HeaderDrawer-brands-lorem-ipsum-aeon" 4539 href="/collections/aeon" 4540 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4541 4542 > 4543 4544 <span class="menu-drawer__menu-item-text wrap-text">AEON</span> 4545 </a> 4546 </li><li 4547 class="menu-drawer__list-item" 4548 style="--menu-drawer-animation-index: 3;" 4549 > 4550 <a 4551 id="HeaderDrawer-brands-lorem-ipsum-aiko" 4552 href="/collections/aiko" 4553 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4554 4555 > 4556 4557 <span class="menu-drawer__menu-item-text wrap-text">AIKO</span> 4558 </a> 4559 </li><li 4560 class="menu-drawer__list-item" 4561 style="--menu-drawer-animation-index: 4;" 4562 > 4563 <a 4564 id="HeaderDrawer-brands-lorem-ipsum-apres" 4565 href="/collections/apres" 4566 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4567 4568 > 4569 4570 <span class="menu-drawer__menu-item-text wrap-text">APRES</span> 4571 </a> 4572 </li><li 4573 class="menu-drawer__list-item" 4574 style="--menu-drawer-animation-index: 5;" 4575 > 4576 <a 4577 id="HeaderDrawer-brands-lorem-ipsum-ardell" 4578 href="/collections/ardell" 4579 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4580 4581 > 4582
4583 <span class="menu-drawer__menu-item-text wrap-text">ARDELL</span> 4584 </a> 4585 </li><li 4586 class="menu-drawer__list-item" 4587 style="--menu-drawer-animation-index: 6;" 4588 > 4589 <a 4590 id="HeaderDrawer-brands-lorem-ipsum-art-club" 4591 href="/collections/art-club" 4592 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4593 4594 > 4595 4596 <span class="menu-drawer__menu-item-text wrap-text">ART CLUB</span> 4597 </a> 4598 </li><li 4599 class="menu-drawer__list-item" 4600 style="--menu-drawer-animation-index: 7;" 4601 > 4602 <a 4603 id="HeaderDrawer-brands-lorem-ipsum-aurelia" 4604 href="/collections/aurelia" 4605 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4606 4607 > 4608 4609 <span class="menu-drawer__menu-item-text wrap-text">AURELIA</span> 4610 </a> 4611 </li><li 4612 class="menu-drawer__list-item" 4613 style="--menu-drawer-animation-index: 8;" 4614 > 4615 <a 4616 id="HeaderDrawer-brands-lorem-ipsum-avp" 4617 href="/collections/avp" 4618 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4619 4620 > 4621 4622 <span class="menu-drawer__menu-item-text wrap-text">AVP</span> 4623 </a> 4624 </li><li 4625 class="menu-drawer__list-item" 4626 style="--menu-drawer-animation-index: 9;" 4627 > 4628 <a 4629 id="HeaderDrawer-brands-lorem-ipsum-baisidai" 4630 href="/collections/baisidai" 4631 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4632 4633 > 4634 4635 <span class="menu-drawer__menu-item-text wrap-text">BAISIDAI</span> 4636 </a> 4637 </li><li 4638 class="menu-drawer__list-item" 4639 style="--menu-drawer-animation-index: 10;" 4640 > 4641 <a 4642 id="HeaderDrawer-brands-lorem-ipsum-barbicide" 4643 href="/collections/barbicide" 4644 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4645 4646 > 4647
4648 <span class="menu-drawer__menu-item-text wrap-text">BARBICIDE</span> 4649 </a> 4650 </li><li 4651 class="menu-drawer__list-item" 4652 style="--menu-drawer-animation-index: 11;" 4653 > 4654 <a 4655 id="HeaderDrawer-brands-lorem-ipsum-be-beauty" 4656 href="/collections/be-beauty" 4657 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4658 4659 > 4660 4661 <span class="menu-drawer__menu-item-text wrap-text">BE BEAUTY</span> 4662 </a> 4663 </li><li 4664 class="menu-drawer__list-item" 4665 style="--menu-drawer-animation-index: 12;" 4666 > 4667 <a 4668 id="HeaderDrawer-brands-lorem-ipsum-beauty-max" 4669 href="/collections/beauty-max" 4670 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4671 4672 > 4673 4674 <span class="menu-drawer__menu-item-text wrap-text">BEAUTY MAX</span> 4675 </a> 4676 </li><li 4677 class="menu-drawer__list-item" 4678 style="--menu-drawer-animation-index: 13;" 4679 > 4680 <a 4681 id="HeaderDrawer-brands-lorem-ipsum-cacee" 4682 href="/collections/cacee" 4683 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4684 4685 > 4686 4687 <span class="menu-drawer__menu-item-text wrap-text">CACEE</span> 4688 </a> 4689 </li><li 4690 class="menu-drawer__list-item" 4691 style="--menu-drawer-animation-index: 14;" 4692 > 4693 <a 4694 id="HeaderDrawer-brands-lorem-ipsum-chernaya-rechka" 4695 href="/collections/chernaya-rechka" 4696 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4697 4698 > 4699 4700 <span class="menu-drawer__menu-item-text wrap-text">CHERNAYA RECHKA</span> 4701 </a> 4702 </li><li 4703 class="menu-drawer__list-item" 4704 style="--menu-drawer-animation-index: 15;" 4705 > 4706 <a 4707 id="HeaderDrawer-brands-lorem-ipsum-christrio" 4708 href="/collections/christrio" 4709 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4710 4711 > 4712
4713 <span class="menu-drawer__menu-item-text wrap-text">CHRISTRIO</span> 4714 </a> 4715 </li><li 4716 class="menu-drawer__list-item" 4717 style="--menu-drawer-animation-index: 16;" 4718 > 4719 <a 4720 id="HeaderDrawer-brands-lorem-ipsum-cnd" 4721 href="/collections/cnd" 4722 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4723 4724 > 4725 4726 <span class="menu-drawer__menu-item-text wrap-text">CND</span> 4727 </a> 4728 </li><li 4729 class="menu-drawer__list-item" 4730 style="--menu-drawer-animation-index: 17;" 4731 > 4732 <a 4733 id="HeaderDrawer-brands-lorem-ipsum-color-club" 4734 href="/collections/color-club" 4735 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4736 4737 > 4738 4739 <span class="menu-drawer__menu-item-text wrap-text">COLOR CLUB</span> 4740 </a> 4741 </li><li 4742 class="menu-drawer__list-item" 4743 style="--menu-drawer-animation-index: 18;" 4744 > 4745 <a 4746 id="HeaderDrawer-brands-lorem-ipsum-credo" 4747 href="/collections/credo" 4748 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4749 4750 > 4751 4752 <span class="menu-drawer__menu-item-text wrap-text">CREDO</span> 4753 </a> 4754 </li></ul></li><li 4755 class=" 4756 menu-drawer__list-item 4757 menu-drawer__list-item--flat 4758 " 4759 > 4760 4761<a 4762 id="HeaderDrawer-brands-lorem-ipsum" 4763 href="/" 4764 class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset" 4765 > 4766 <span class="menu-drawer__menu-item-text wrap-text">Lorem Ipsum</span> 4767 </a> 4768 4769 <ul 4770 class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content" 4771 role="list" 4772 tabindex="-1" 4773 ><li 4774 class="menu-drawer__list-item" 4775 style="--menu-drawer-animation-index: 1;" 4776 > 4777 <a 4778 id="HeaderDrawer-brands-lorem-ipsum-cuccio" 4779 href="/collections/cuccio" 4780 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4781 4782 > 4783
4784 <span class="menu-drawer__menu-item-text wrap-text">CUCCIO</span> 4785 </a> 4786 </li><li 4787 class="menu-drawer__list-item" 4788 style="--menu-drawer-animation-index: 2;" 4789 > 4790 <a 4791 id="HeaderDrawer-brands-lorem-ipsum-daisy" 4792 href="/collections/daisy" 4793 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4794 4795 > 4796 4797 <span class="menu-drawer__menu-item-text wrap-text">DAISY</span> 4798 </a> 4799 </li><li 4800 class="menu-drawer__list-item" 4801 style="--menu-drawer-animation-index: 3;" 4802 > 4803 <a 4804 id="HeaderDrawer-brands-lorem-ipsum-derma-v10" 4805 href="/collections/derma-v10" 4806 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4807 4808 > 4809 4810 <span class="menu-drawer__menu-item-text wrap-text">DERMA V10</span> 4811 </a> 4812 </li><li 4813 class="menu-drawer__list-item" 4814 style="--menu-drawer-animation-index: 4;" 4815 > 4816 <a 4817 id="HeaderDrawer-brands-lorem-ipsum-dermert" 4818 href="/collections/dermert" 4819 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4820 4821 > 4822 4823 <span class="menu-drawer__menu-item-text wrap-text">DERMERT</span> 4824 </a> 4825 </li><li 4826 class="menu-drawer__list-item" 4827 style="--menu-drawer-animation-index: 5;" 4828 > 4829 <a 4830 id="HeaderDrawer-brands-lorem-ipsum-dnd-dc" 4831 href="/collections/dnd-dc" 4832 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4833 4834 > 4835 4836 <span class="menu-drawer__menu-item-text wrap-text">DND DC</span> 4837 </a> 4838 </li><li 4839 class="menu-drawer__list-item" 4840 style="--menu-drawer-animation-index: 6;" 4841 > 4842 <a 4843 id="HeaderDrawer-brands-lorem-ipsum-emi" 4844 href="/collections/emi" 4845 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4846 4847 > 4848
4849 <span class="menu-drawer__menu-item-text wrap-text">EMI</span> 4850 </a> 4851 </li><li 4852 class="menu-drawer__list-item" 4853 style="--menu-drawer-animation-index: 7;" 4854 > 4855 <a 4856 id="HeaderDrawer-brands-lorem-ipsum-entity" 4857 href="/collections/entity" 4858 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4859 4860 > 4861 4862 <span class="menu-drawer__menu-item-text wrap-text">ENTITY</span> 4863 </a> 4864 </li><li 4865 class="menu-drawer__list-item" 4866 style="--menu-drawer-animation-index: 8;" 4867 > 4868 <a 4869 id="HeaderDrawer-brands-lorem-ipsum-ezflow" 4870 href="/collections/ezflow" 4871 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4872 4873 > 4874 4875 <span class="menu-drawer__menu-item-text wrap-text">EZFLOW</span> 4876 </a> 4877 </li><li 4878 class="menu-drawer__list-item" 4879 style="--menu-drawer-animation-index: 9;" 4880 > 4881 <a 4882 id="HeaderDrawer-brands-lorem-ipsum-gelish" 4883 href="/collections/gelish" 4884 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4885 4886 > 4887 4888 <span class="menu-drawer__menu-item-text wrap-text">GELISH</span> 4889 </a> 4890 </li><li 4891 class="menu-drawer__list-item" 4892 style="--menu-drawer-animation-index: 10;" 4893 > 4894 <a 4895 id="HeaderDrawer-brands-lorem-ipsum-glam-glits" 4896 href="/collections/glam-glits" 4897 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4898 4899 > 4900 4901 <span class="menu-drawer__menu-item-text wrap-text">GLAM & GLITS</span> 4902 </a> 4903 </li><li 4904 class="menu-drawer__list-item" 4905 style="--menu-drawer-animation-index: 11;" 4906 > 4907 <a 4908 id="HeaderDrawer-brands-lorem-ipsum-glamlac" 4909 href="/collections/glamlac" 4910 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4911 4912 > 4913
4914 <span class="menu-drawer__menu-item-text wrap-text">GLAMLAC</span> 4915 </a> 4916 </li><li 4917 class="menu-drawer__list-item" 4918 style="--menu-drawer-animation-index: 12;" 4919 > 4920 <a 4921 id="HeaderDrawer-brands-lorem-ipsum-glamlash" 4922 href="/collections/glamlash" 4923 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4924 4925 > 4926 4927 <span class="menu-drawer__menu-item-text wrap-text">GLAMLASH</span> 4928 </a> 4929 </li><li 4930 class="menu-drawer__list-item" 4931 style="--menu-drawer-animation-index: 13;" 4932 > 4933 <a 4934 id="HeaderDrawer-brands-lorem-ipsum-glamlashes" 4935 href="/collections/glamlashes" 4936 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4937 4938 > 4939 4940 <span class="menu-drawer__menu-item-text wrap-text">GLAMLASHES</span> 4941 </a> 4942 </li><li 4943 class="menu-drawer__list-item" 4944 style="--menu-drawer-animation-index: 14;" 4945 > 4946 <a 4947 id="HeaderDrawer-brands-lorem-ipsum-halo" 4948 href="/collections/halo" 4949 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4950 4951 > 4952 4953 <span class="menu-drawer__menu-item-text wrap-text">HALO</span> 4954 </a> 4955 </li><li 4956 class="menu-drawer__list-item" 4957 style="--menu-drawer-animation-index: 15;" 4958 > 4959 <a 4960 id="HeaderDrawer-brands-lorem-ipsum-hong-kong-girl" 4961 href="/collections/hong-kong-girl" 4962 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4963 4964 > 4965 4966 <span class="menu-drawer__menu-item-text wrap-text">HONG KONG GIRL</span> 4967 </a> 4968 </li><li 4969 class="menu-drawer__list-item" 4970 style="--menu-drawer-animation-index: 16;" 4971 > 4972 <a 4973 id="HeaderDrawer-brands-lorem-ipsum-ibd" 4974 href="/collections/ibd" 4975 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4976 4977 > 4978
4979 <span class="menu-drawer__menu-item-text wrap-text">IBD</span> 4980 </a> 4981 </li><li 4982 class="menu-drawer__list-item" 4983 style="--menu-drawer-animation-index: 17;" 4984 > 4985 <a 4986 id="HeaderDrawer-brands-lorem-ipsum-icon" 4987 href="/collections/icon" 4988 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 4989 4990 > 4991 4992 <span class="menu-drawer__menu-item-text wrap-text">ICON</span> 4993 </a> 4994 </li></ul></li><li 4995 class=" 4996 menu-drawer__list-item 4997 menu-drawer__list-item--flat 4998 " 4999 > 5000 5001<a 5002 id="HeaderDrawer-brands-lorem-ipsum" 5003 href="/" 5004 class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset" 5005 > 5006 <span class="menu-drawer__menu-item-text wrap-text">Lorem Ipsum</span> 5007 </a> 5008 5009 <ul 5010 class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content" 5011 role="list" 5012 tabindex="-1" 5013 ><li 5014 class="menu-drawer__list-item" 5015 style="--menu-drawer-animation-index: 1;" 5016 > 5017 <a 5018 id="HeaderDrawer-brands-lorem-ipsum-infalab" 5019 href="/collections/infalab" 5020 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5021 5022 > 5023 5024 <span class="menu-drawer__menu-item-text wrap-text">INFALAB</span> 5025 </a> 5026 </li><li 5027 class="menu-drawer__list-item" 5028 style="--menu-drawer-animation-index: 2;" 5029 > 5030 <a 5031 id="HeaderDrawer-brands-lorem-ipsum-jet" 5032 href="/collections/jet" 5033 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5034 5035 > 5036 5037 <span class="menu-drawer__menu-item-text wrap-text">JET</span> 5038 </a> 5039 </li><li 5040 class="menu-drawer__list-item" 5041 style="--menu-drawer-animation-index: 3;" 5042 > 5043 <a 5044 id="HeaderDrawer-brands-lorem-ipsum-jinhong" 5045 href="/collections/jinhong" 5046 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5047 5048 > 5049
5050 <span class="menu-drawer__menu-item-text wrap-text">JINHONG</span> 5051 </a> 5052 </li><li 5053 class="menu-drawer__list-item" 5054 style="--menu-drawer-animation-index: 4;" 5055 > 5056 <a 5057 id="HeaderDrawer-brands-lorem-ipsum-kds" 5058 href="/collections/kds" 5059 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5060 5061 > 5062 5063 <span class="menu-drawer__menu-item-text wrap-text">KDS</span> 5064 </a> 5065 </li><li 5066 class="menu-drawer__list-item" 5067 style="--menu-drawer-animation-index: 5;" 5068 > 5069 <a 5070 id="HeaderDrawer-brands-lorem-ipsum-keli" 5071 href="/collections/keli" 5072 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5073 5074 > 5075 5076 <span class="menu-drawer__menu-item-text wrap-text">KELI</span> 5077 </a> 5078 </li><li 5079 class="menu-drawer__list-item" 5080 style="--menu-drawer-animation-index: 6;" 5081 > 5082 <a 5083 id="HeaderDrawer-brands-lorem-ipsum-kiara-sky" 5084 href="/collections/kiara-sky" 5085 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5086 5087 > 5088 5089 <span class="menu-drawer__menu-item-text wrap-text">KIARA SKY</span> 5090 </a> 5091 </li><li 5092 class="menu-drawer__list-item" 5093 style="--menu-drawer-animation-index: 7;" 5094 > 5095 <a 5096 id="HeaderDrawer-brands-lorem-ipsum-kiehl" 5097 href="/collections/kiehl" 5098 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5099 5100 > 5101 5102 <span class="menu-drawer__menu-item-text wrap-text">KIEHL</span> 5103 </a> 5104 </li><li 5105 class="menu-drawer__list-item" 5106 style="--menu-drawer-animation-index: 8;" 5107 > 5108 <a 5109 id="HeaderDrawer-brands-lorem-ipsum-kupa" 5110 href="/collections/kupa" 5111 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5112 5113 > 5114
5115 <span class="menu-drawer__menu-item-text wrap-text">KUPA</span> 5116 </a> 5117 </li><li 5118 class="menu-drawer__list-item" 5119 style="--menu-drawer-animation-index: 9;" 5120 > 5121 <a 5122 id="HeaderDrawer-brands-lorem-ipsum-lamour" 5123 href="/collections/lamour" 5124 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5125 5126 > 5127 5128 <span class="menu-drawer__menu-item-text wrap-text">LAMOUR</span> 5129 </a> 5130 </li><li 5131 class="menu-drawer__list-item" 5132 style="--menu-drawer-animation-index: 10;" 5133 > 5134 <a 5135 id="HeaderDrawer-brands-lorem-ipsum-lazy-fun" 5136 href="/collections/lazy-fun" 5137 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5138 5139 > 5140 5141 <span class="menu-drawer__menu-item-text wrap-text">LAZY FUN</span> 5142 </a> 5143 </li><li 5144 class="menu-drawer__list-item" 5145 style="--menu-drawer-animation-index: 11;" 5146 > 5147 <a 5148 id="HeaderDrawer-brands-lorem-ipsum-lion" 5149 href="/collections/lion" 5150 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5151 5152 > 5153 5154 <span class="menu-drawer__menu-item-text wrap-text">LION</span> 5155 </a> 5156 </li><li 5157 class="menu-drawer__list-item" 5158 style="--menu-drawer-animation-index: 12;" 5159 > 5160 <a 5161 id="HeaderDrawer-brands-lorem-ipsum-lorossi" 5162 href="/collections/lorossi" 5163 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5164 5165 > 5166 5167 <span class="menu-drawer__menu-item-text wrap-text">LOROSSI</span> 5168 </a> 5169 </li><li 5170 class="menu-drawer__list-item" 5171 style="--menu-drawer-animation-index: 13;" 5172 > 5173 <a 5174 id="HeaderDrawer-brands-lorem-ipsum-mae" 5175 href="/collections/mae" 5176 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5177 5178 > 5179
5180 <span class="menu-drawer__menu-item-text wrap-text">MAE</span> 5181 </a> 5182 </li><li 5183 class="menu-drawer__list-item" 5184 style="--menu-drawer-animation-index: 14;" 5185 > 5186 <a 5187 id="HeaderDrawer-brands-lorem-ipsum-medicool" 5188 href="/collections/medicool" 5189 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5190 5191 > 5192 5193 <span class="menu-drawer__menu-item-text wrap-text">MEDICOOL</span> 5194 </a> 5195 </li><li 5196 class="menu-drawer__list-item" 5197 style="--menu-drawer-animation-index: 15;" 5198 > 5199 <a 5200 id="HeaderDrawer-brands-lorem-ipsum-mei-na-si" 5201 href="/collections/mei-na-si" 5202 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5203 5204 > 5205 5206 <span class="menu-drawer__menu-item-text wrap-text">MEI NA SI</span> 5207 </a> 5208 </li><li 5209 class="menu-drawer__list-item" 5210 style="--menu-drawer-animation-index: 16;" 5211 > 5212 <a 5213 id="HeaderDrawer-brands-lorem-ipsum-micra" 5214 href="/collections/micra" 5215 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5216 5217 > 5218 5219 <span class="menu-drawer__menu-item-text wrap-text">MICRA</span> 5220 </a> 5221 </li><li 5222 class="menu-drawer__list-item" 5223 style="--menu-drawer-animation-index: 17;" 5224 > 5225 <a 5226 id="HeaderDrawer-brands-lorem-ipsum-moding" 5227 href="/collections/moding" 5228 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5229 5230 > 5231 5232 <span class="menu-drawer__menu-item-text wrap-text">MODING</span> 5233 </a> 5234 </li></ul></li><li 5235 class=" 5236 menu-drawer__list-item 5237 menu-drawer__list-item--flat 5238 " 5239 > 5240 5241<a 5242 id="HeaderDrawer-brands-lorem-ipsum" 5243 href="/" 5244 class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset" 5245 >
5246 <span class="menu-drawer__menu-item-text wrap-text">Lorem Ipsum</span> 5247 </a> 5248 5249 <ul 5250 class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content" 5251 role="list" 5252 tabindex="-1" 5253 ><li 5254 class="menu-drawer__list-item" 5255 style="--menu-drawer-animation-index: 1;" 5256 > 5257 <a 5258 id="HeaderDrawer-brands-lorem-ipsum-morgan-taylor" 5259 href="/collections/morgan-taylor" 5260 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5261 5262 > 5263 5264 <span class="menu-drawer__menu-item-text wrap-text">MORGAN TAYLOR</span> 5265 </a> 5266 </li><li 5267 class="menu-drawer__list-item" 5268 style="--menu-drawer-animation-index: 2;" 5269 > 5270 <a 5271 id="HeaderDrawer-brands-lorem-ipsum-nail-artists" 5272 href="/collections/nail-artists" 5273 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5274 5275 > 5276 5277 <span class="menu-drawer__menu-item-text wrap-text">NAIL ARTISTS</span> 5278 </a> 5279 </li><li 5280 class="menu-drawer__list-item" 5281 style="--menu-drawer-animation-index: 3;" 5282 > 5283 <a 5284 id="HeaderDrawer-brands-lorem-ipsum-nailpro" 5285 href="/collections/nailpro" 5286 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5287 5288 > 5289 5290 <span class="menu-drawer__menu-item-text wrap-text">NAILPRO</span> 5291 </a> 5292 </li><li 5293 class="menu-drawer__list-item" 5294 style="--menu-drawer-animation-index: 4;" 5295 > 5296 <a 5297 id="HeaderDrawer-brands-lorem-ipsum-nghia" 5298 href="/collections/nghia" 5299 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5300 5301 > 5302 5303 <span class="menu-drawer__menu-item-text wrap-text">NGHIA</span> 5304 </a> 5305 </li><li 5306 class="menu-drawer__list-item" 5307 style="--menu-drawer-animation-index: 5;" 5308 > 5309 <a 5310 id="HeaderDrawer-brands-lorem-ipsum-nola" 5311 href="/collections/nola" 5312 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5313 5314 > 5315
5316 <span class="menu-drawer__menu-item-text wrap-text">NOLA</span> 5317 </a> 5318 </li><li 5319 class="menu-drawer__list-item" 5320 style="--menu-drawer-animation-index: 6;" 5321 > 5322 <a 5323 id="HeaderDrawer-brands-lorem-ipsum-nps" 5324 href="/collections/nps" 5325 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5326 5327 > 5328 5329 <span class="menu-drawer__menu-item-text wrap-text">NPS</span> 5330 </a> 5331 </li><li 5332 class="menu-drawer__list-item" 5333 style="--menu-drawer-animation-index: 7;" 5334 > 5335 <a 5336 id="HeaderDrawer-brands-lorem-ipsum-ns-101" 5337 href="/collections/ns-101" 5338 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5339 5340 > 5341 5342 <span class="menu-drawer__menu-item-text wrap-text">NS-101</span> 5343 </a> 5344 </li><li 5345 class="menu-drawer__list-item" 5346 style="--menu-drawer-animation-index: 8;" 5347 > 5348 <a 5349 id="HeaderDrawer-brands-lorem-ipsum-nsi" 5350 href="/collections/nsi" 5351 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5352 5353 > 5354 5355 <span class="menu-drawer__menu-item-text wrap-text">NSI</span> 5356 </a> 5357 </li><li 5358 class="menu-drawer__list-item" 5359 style="--menu-drawer-animation-index: 9;" 5360 > 5361 <a 5362 id="HeaderDrawer-brands-lorem-ipsum-opi" 5363 href="/collections/opi" 5364 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5365 5366 > 5367 5368 <span class="menu-drawer__menu-item-text wrap-text">OPI</span> 5369 </a> 5370 </li><li 5371 class="menu-drawer__list-item" 5372 style="--menu-drawer-animation-index: 10;" 5373 > 5374 <a 5375 id="HeaderDrawer-brands-lorem-ipsum-orly" 5376 href="/collections/orly" 5377 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5378 5379 > 5380
5381 <span class="menu-drawer__menu-item-text wrap-text">ORLY</span> 5382 </a> 5383 </li><li 5384 class="menu-drawer__list-item" 5385 style="--menu-drawer-animation-index: 11;" 5386 > 5387 <a 5388 id="HeaderDrawer-brands-lorem-ipsum-qtica" 5389 href="/collections/qtica" 5390 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5391 5392 > 5393 5394 <span class="menu-drawer__menu-item-text wrap-text">QTICA</span> 5395 </a> 5396 </li><li 5397 class="menu-drawer__list-item" 5398 style="--menu-drawer-animation-index: 12;" 5399 > 5400 <a 5401 id="HeaderDrawer-brands-lorem-ipsum-refectocil" 5402 href="/collections/refectocil" 5403 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5404 5405 > 5406 5407 <span class="menu-drawer__menu-item-text wrap-text">REFECTOCIL</span> 5408 </a> 5409 </li><li 5410 class="menu-drawer__list-item" 5411 style="--menu-drawer-animation-index: 13;" 5412 > 5413 <a 5414 id="HeaderDrawer-brands-lorem-ipsum-rococo" 5415 href="/collections/rococo" 5416 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5417 5418 > 5419 5420 <span class="menu-drawer__menu-item-text wrap-text">ROCOCO</span> 5421 </a> 5422 </li><li 5423 class="menu-drawer__list-item" 5424 style="--menu-drawer-animation-index: 14;" 5425 > 5426 <a 5427 id="HeaderDrawer-brands-lorem-ipsum-saeyang" 5428 href="/collections/saeyang" 5429 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5430 5431 > 5432 5433 <span class="menu-drawer__menu-item-text wrap-text">SAEYANG</span> 5434 </a> 5435 </li><li 5436 class="menu-drawer__list-item" 5437 style="--menu-drawer-animation-index: 15;" 5438 > 5439 <a 5440 id="HeaderDrawer-brands-lorem-ipsum-salon-system" 5441 href="/collections/salon-system" 5442 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5443 5444 > 5445
5446 <span class="menu-drawer__menu-item-text wrap-text">SALON SYSTEM</span> 5447 </a> 5448 </li><li 5449 class="menu-drawer__list-item" 5450 style="--menu-drawer-animation-index: 16;" 5451 > 5452 <a 5453 id="HeaderDrawer-brands-lorem-ipsum-seche" 5454 href="/collections/seche" 5455 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5456 5457 > 5458 5459 <span class="menu-drawer__menu-item-text wrap-text">SECHE</span> 5460 </a> 5461 </li><li 5462 class="menu-drawer__list-item" 5463 style="--menu-drawer-animation-index: 17;" 5464 > 5465 <a 5466 id="HeaderDrawer-brands-lorem-ipsum-seiko" 5467 href="/collections/seiko" 5468 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5469 5470 > 5471 5472 <span class="menu-drawer__menu-item-text wrap-text">SEIKO</span> 5473 </a> 5474 </li></ul></li><li 5475 class=" 5476 menu-drawer__list-item 5477 menu-drawer__list-item--flat 5478 " 5479 > 5480 5481<a 5482 id="HeaderDrawer-brands-lorem-ipsum" 5483 href="/" 5484 class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset" 5485 > 5486 <span class="menu-drawer__menu-item-text wrap-text">Lorem Ipsum</span> 5487 </a> 5488 5489 <ul 5490 class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content" 5491 role="list" 5492 tabindex="-1" 5493 ><li 5494 class="menu-drawer__list-item" 5495 style="--menu-drawer-animation-index: 1;" 5496 > 5497 <a 5498 id="HeaderDrawer-brands-lorem-ipsum-simply" 5499 href="/collections/simply" 5500 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5501 5502 > 5503 5504 <span class="menu-drawer__menu-item-text wrap-text">SIMPLY</span> 5505 </a> 5506 </li><li 5507 class="menu-drawer__list-item" 5508 style="--menu-drawer-animation-index: 2;" 5509 > 5510 <a 5511 id="HeaderDrawer-brands-lorem-ipsum-sleep-in-rollers" 5512 href="/collections/sleep-in-rollers" 5513 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5514 5515 > 5516
5517 <span class="menu-drawer__menu-item-text wrap-text">SLEEP IN ROLLERS</span> 5518 </a> 5519 </li><li 5520 class="menu-drawer__list-item" 5521 style="--menu-drawer-animation-index: 3;" 5522 > 5523 <a 5524 id="HeaderDrawer-brands-lorem-ipsum-startool" 5525 href="/collections/startool" 5526 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5527 5528 > 5529 5530 <span class="menu-drawer__menu-item-text wrap-text">STARTOOL</span> 5531 </a> 5532 </li><li 5533 class="menu-drawer__list-item" 5534 style="--menu-drawer-animation-index: 4;" 5535 > 5536 <a 5537 id="HeaderDrawer-brands-lorem-ipsum-strictly-professional" 5538 href="/collections/strictly-professional" 5539 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5540 5541 > 5542 5543 <span class="menu-drawer__menu-item-text wrap-text">STRICTLY PROFESSIONAL</span> 5544 </a> 5545 </li><li 5546 class="menu-drawer__list-item" 5547 style="--menu-drawer-animation-index: 5;" 5548 > 5549 <a 5550 id="HeaderDrawer-brands-lorem-ipsum-supernail" 5551 href="/collections/supernail" 5552 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5553 5554 > 5555 5556 <span class="menu-drawer__menu-item-text wrap-text">SUPERNAIL</span> 5557 </a> 5558 </li><li 5559 class="menu-drawer__list-item" 5560 style="--menu-drawer-animation-index: 6;" 5561 > 5562 <a 5563 id="HeaderDrawer-brands-lorem-ipsum-swarovski" 5564 href="/collections/swarovski" 5565 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5566 5567 > 5568 5569 <span class="menu-drawer__menu-item-text wrap-text">SWAROVSKI</span> 5570 </a> 5571 </li><li 5572 class="menu-drawer__list-item" 5573 style="--menu-drawer-animation-index: 7;" 5574 > 5575 <a 5576 id="HeaderDrawer-brands-lorem-ipsum-titania" 5577 href="/collections/titania" 5578 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5579 5580 > 5581
5582 <span class="menu-drawer__menu-item-text wrap-text">TITANIA</span> 5583 </a> 5584 </li><li 5585 class="menu-drawer__list-item" 5586 style="--menu-drawer-animation-index: 8;" 5587 > 5588 <a 5589 id="HeaderDrawer-brands-lorem-ipsum-tnbl" 5590 href="/collections/tnbl" 5591 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5592 5593 > 5594 5595 <span class="menu-drawer__menu-item-text wrap-text">TNBL</span> 5596 </a> 5597 </li><li 5598 class="menu-drawer__list-item" 5599 style="--menu-drawer-animation-index: 9;" 5600 > 5601 <a 5602 id="HeaderDrawer-brands-lorem-ipsum-upower" 5603 href="/collections/upower" 5604 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5605 5606 > 5607 5608 <span class="menu-drawer__menu-item-text wrap-text">UPOWER</span> 5609 </a> 5610 </li><li 5611 class="menu-drawer__list-item" 5612 style="--menu-drawer-animation-index: 10;" 5613 > 5614 <a 5615 id="HeaderDrawer-brands-lorem-ipsum-varisi" 5616 href="/collections/varisi" 5617 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5618 5619 > 5620 5621 <span class="menu-drawer__menu-item-text wrap-text">VARISI</span> 5622 </a> 5623 </li><li 5624 class="menu-drawer__list-item" 5625 style="--menu-drawer-animation-index: 11;" 5626 > 5627 <a 5628 id="HeaderDrawer-brands-lorem-ipsum-veniiz" 5629 href="/collections/veniiz" 5630 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5631 5632 > 5633 5634 <span class="menu-drawer__menu-item-text wrap-text">VENIIZ</span> 5635 </a> 5636 </li><li 5637 class="menu-drawer__list-item" 5638 style="--menu-drawer-animation-index: 12;" 5639 > 5640 <a 5641 id="HeaderDrawer-brands-lorem-ipsum-vina" 5642 href="/collections/vina" 5643 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5644 5645 > 5646
5647 <span class="menu-drawer__menu-item-text wrap-text">VINA</span> 5648 </a> 5649 </li><li 5650 class="menu-drawer__list-item" 5651 style="--menu-drawer-animation-index: 13;" 5652 > 5653 <a 5654 id="HeaderDrawer-brands-lorem-ipsum-vins" 5655 href="/collections/vins" 5656 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5657 5658 > 5659 5660 <span class="menu-drawer__menu-item-text wrap-text">VINS</span> 5661 </a> 5662 </li><li 5663 class="menu-drawer__list-item" 5664 style="--menu-drawer-animation-index: 14;" 5665 > 5666 <a 5667 id="HeaderDrawer-brands-lorem-ipsum-voesh" 5668 href="/collections/voesh" 5669 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5670 5671 > 5672 5673 <span class="menu-drawer__menu-item-text wrap-text">VOESH</span> 5674 </a> 5675 </li><li 5676 class="menu-drawer__list-item" 5677 style="--menu-drawer-animation-index: 15;" 5678 > 5679 <a 5680 id="HeaderDrawer-brands-lorem-ipsum-willow" 5681 href="/collections/willow" 5682 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5683 5684 > 5685 5686 <span class="menu-drawer__menu-item-text wrap-text">WILLOW</span> 5687 </a> 5688 </li><li 5689 class="menu-drawer__list-item" 5690 style="--menu-drawer-animation-index: 16;" 5691 > 5692 <a 5693 id="HeaderDrawer-brands-lorem-ipsum-wonder-gel" 5694 href="/collections/wonder-gel" 5695 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5696 5697 > 5698 5699 <span class="menu-drawer__menu-item-text wrap-text">WONDER GEL</span> 5700 </a> 5701 </li><li 5702 class="menu-drawer__list-item" 5703 style="--menu-drawer-animation-index: 17;" 5704 > 5705 <a 5706 id="HeaderDrawer-brands-lorem-ipsum-yoyo" 5707 href="/collections/yoyo" 5708 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 5709 5710 > 5711
5712 <span class="menu-drawer__menu-item-text wrap-text">YOYO</span> 5713 </a> 5714 </li></ul></li></ul> 5715 5716 </div> 5717 </div> 5718 </details></li> 5719 <li 5720 class="menu-drawer__list-item" 5721 style="--menu-drawer-animation-index: 8;" 5722 ><a 5723 id="HeaderDrawer-sale" 5724 href="/collections/tnbl-sale" 5725 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 5726 5727 > 5728 <span class="menu-drawer__menu-item-text wrap-text">Sale</span> 5729 </a></li> 5730 </ul> 5731 </nav> 5732 <div 5733 class="menu-drawer__utility-links menu-drawer__animated-element" 5734 style="--menu-drawer-animation-index: 8;" 5735 > 5736 5737 </div> 5738 5739 5740 </div> 5741 <div 5742 class="menu-drawer__backdrop" 5743 on:click="header-drawer/close" 5744 ></div> 5745 </details> 5746</header-drawer> 5747 5748 5749 5750 </div> 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 <search-button class="search-action desktop:hidden"> 5765 <button 5766 on:click="#search-modal/showDialog" 5767 class="button button-unstyled search-modal__button header-actions__action" 5768 aria-label="Search" 5769 aria-haspopup="dialog" 5770 > 5771 <span 5772 aria-hidden="true" 5773 class="svg-wrapper" 5774 > 5775 <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 5776<path d="M19.1361 20L11.4929 12.3568C10.8825 12.8764 10.1807 13.2786 9.38723 13.5634C8.59379 13.8483 7.79649 13.9907 6.99533 13.9907C5.04023 13.9907 3.38552 13.3139 2.03119 11.9604C0.677063 10.6069 0 8.95318 0 6.9993C0 5.04522 0.676758 3.39009 2.03027 2.03393C3.38379 0.677977 5.03748 0 6.99136 0C8.94545 0 10.6006 0.677063 11.9567 2.03119C13.3127 3.38552 13.9907 5.04023 13.9907 6.99533C13.9907 7.84349 13.8404 8.66429 13.5399 9.45772C13.2394 10.2512 12.8451 10.9295 12.3568 11.4929L20 19.1364L19.1361 20ZM6.99533 12.77C8.61495 12.77 9.9823 12.2125 11.0974 11.0974C12.2125 9.9825 12.77 8.61515 12.77 6.99533C12.77 5.37551 12.2125 4.00816 11.0974 2.89328C9.9823 1.7782 8.61495 1.22067 6.99533 1.22067C5.37551 1.22067 4.00816 1.7782 2.89328 2.89328C1.7782 4.00816 1.22067 5.37551 1.22067 6.99533C1.22067 8.61515 1.7782 9.9825 2.89328 11.0974C4.00816 12.2125 5.37551 12.77 6.99533 12.77Z" fill="#111111"/> 5777</svg> 5778 5779 </span> 5780 </button> 5781 </search-button> 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796<a 5797 5798 href="/" 5799 class="size-style spacing-style header-logo" 5800 style=" 5801 --size-style-width: ;--size-style-height: ; 5802 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 5803 --font-family: var(--font-body--family); 5804 --font-style: var(--font-body--style); 5805 --font-weight: 600; 5806 " 5807 5808> 5809 5810 5811 <span 5812 class="header-logo__image-container header-logo__image-container--original" 5813 data-testid="header-logo" 5814 > 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 <img src="//www.tnbl.co.uk/cdn/shop/files/TNBL.png?height=60&v=1766497859" alt="" width="130" height="60" class="header-logo__image" srcset="//www.tnbl.co.uk/cdn/shop/files/TNBL.png?height=60&v=1766497859 1x, //www.tnbl.co.uk/cdn/shop/files/TNBL.png?height=120&v=1766497859 2x, //www.tnbl.co.uk/cdn/shop/files/TNBL.png?height=180&v=1766497859 3x" style="--header-logo-image-width: 130px;--header-logo-image-width-mobile: 91px; --header-logo-image-height: 60px; --header-logo-image-height-mobile: 42px;"> 5827 5828 5829 </span> 5830 5831 5832</a> 5833 5834 5835 5836 5837 5838 5839 5840 5841 </div><div 5842 class="header__column header__column--center" 5843 data-testid="header-top-center" 5844 > 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 <header-menu 5857 ref="headerMenu" 5858 class="header-menu mobile:hidden" 5859 data-animation-delay="200" 5860 5861 style="--submenu-animation-speed: 200ms;" 5862 > 5863 <div class="header-menu__inner"> 5864 <nav header-menu> 5865 <div 5866 class="menu-list" 5867 style="--menu-top-level-font-family: var(--font-body--family); 5868--menu-top-level-font-size-desktop: 1rem; --menu-top-level-font-style: var(--font-body--style);
5868 --menu-top-level-font-weight: var(--font-body--weight); --menu-top-level-font-case:none; 5869 5870 --menu-top-level-font-size: var(--menu-font-sm--size); --menu-top-level-font-line-height: 5871 var(--menu-font-sm--line-height); 5872 5873--menu-top-level-font-color: var(--color-foreground); --menu-top-level-font-color-rgb: var(--color-foreground-rgb); 5874" 5875 > 5876 5877 <overflow-list 5878 5879 ref="overflowMenu" 5880 5881 5882 class="overflow-menu color-scheme-matches-parent" 5883 5884 5885 minimum-items="2" 5886 5887 5888 data-testid="header-menu-overflow-list" 5889 5890 5891 data-skip-node-update 5892 5893> 5894 <template shadowrootmode="open"> 5895 <link href="//www.tnbl.co.uk/cdn/shop/t/6/assets/overflow-list.css?v=101911674359793798601774530324" rel="stylesheet" type="text/css" media="all" /> 5896 5897 <ul part="list"> 5898 <slot></slot> 5899 <slot 5900 name="more" 5901 part="more" 5902 hidden 5903 5904 > 5905 <li 5906 part="more" 5907 > 5908 <button 5909 class="button" 5910 type="button" 5911 tabindex="0" 5912 > 5913 More 5914 </button> 5915 </li> 5916 </slot> 5917 <li 5918 part="placeholder" 5919 hidden 5920 ></li> 5921 </ul> 5922 5923 <div part="overflow"> 5924 <ul part="overflow-list"> 5925 <slot name="overflow"></slot> 5926 </ul> 5927 </div> 5928 </template> 5929 5930 5931 5932 <li 5933 role="presentation" 5934 class="menu-list__list-item" 5935 on:focus="/activate" 5936 on:blur="/deactivate" 5937 on:pointerenter="/activate" 5938 on:pointerleave="/deactivate" 5939 > 5940 <a 5941 href="/collections/new" 5942 data-skip-node-update="true" 5943 class="menu-list__link"ref="menuitem" 5944 > 5945 <span class="menu-list__link-title">New In</span> 5946 </a></li> 5947 5948 <li 5949 role="presentation" 5950 class="menu-list__list-item" 5951 on:focus="/activate" 5952 on:blur="/deactivate" 5953 on:pointerenter="/activate" 5954 on:pointerleave="/deactivate" 5955 > 5956 <a 5957 href="/pages/apres" 5958 data-skip-node-update="true" 5959 class="menu-list__link"aria-controls="submenu-2" 5960 aria-haspopup="true" 5961 aria-expanded="false"ref="menuitem" 5962 > 5963 <span class="menu-list__link-title">Apres Nails</span> 5964 </a><div class="menu-list__submenu color-scheme-matches-parent" ref="submenu[]"> 5965 <div 5966 id="submenu-2" 5967 class="menu-list__submenu-inner menu-list__submenu-inner--apres-nails" 5968 style="--menu-parent-font-family: var(--font-body--family); --menu-parent-font-style: 5969var(--font-body--style); --menu-parent-font-weight: var(--font-body--weight); --menu-parent-font-case: 5970none; 5971 5972 --menu-parent-font-size: var(--menu-font-md--size); --menu-parent-font-line-height: 5973 var(--menu-font-md--line-height); --menu-parent-font-color: var(--color-foreground); 5974 --menu-parent-active-font-color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text)); 5975 5976--menu-child-font-family: var(--font-body--family); --menu-child-font-style: 5977var(--font-body--style); --menu-child-font-weight: var(--font-body--weight); --menu-child-font-case: 5978none; 5979 5980 --menu-child-font-size: var(--menu-font-sm--size); --menu-child-font-line-height: var(--menu-font-sm--line-height); 5981 --menu-child-font-color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text)); 5982 --menu-child-active-font-color: var(--color-foreground); 5983 5984" 5985 > 5986 5987 <div class="mega-menu section section--full-width-margin section--page-width"> 5988 <div 5989 class="mega-menu__grid" 5990 data-menu-grid-id="MegaMenuList-2" 5991 > 5992 5993<ul 5994 data-menu-list-id="MegaMenuList-2" 5995 class="mega-menu__list list-unstyled" 5996 style="--menu-image-border-radius: 12px;" 5997> 5998 5999 6000 6001 <li class="mega-menu__column mega-menu__column--span-1"> 6002 <div> 6003 <a 6004 6005 href="/pages/apres" 6006 6007 class="mega-menu__link mega-menu__link--parent" 6008 > 6009
6010 <span 6011 class="mega-menu__link-title wrap-text" 6012 >Apres Nails</span> 6013 </a> 6014 6015 <ul 6016 class="list-unstyled" 6017 style="column-count: 1;" 6018 > 6019 6020 <li 6021 class="mega-menu__link--child" 6022 > 6023 <a 6024 href="/collections/apres-gel-x-kits" 6025 class="mega-menu__link" 6026 > 6027 <span class="mega-menu__link-title wrap-text">Gel-X Kits</span> 6028 </a> 6029 </li> 6030 6031 <li 6032 class="mega-menu__link--child" 6033 > 6034 <a 6035 href="/collections/apres-gel-x-tips" 6036 class="mega-menu__link" 6037 > 6038 <span class="mega-menu__link-title wrap-text">Gel-X Tips</span> 6039 </a> 6040 </li> 6041 6042 <li 6043 class="mega-menu__link--child" 6044 > 6045 <a 6046 href="/collections/apres-gel-colour" 6047 class="mega-menu__link" 6048 > 6049 <span class="mega-menu__link-title wrap-text">Gel Colours</span> 6050 </a> 6051 </li> 6052 6053 <li 6054 class="mega-menu__link--child" 6055 > 6056 <a 6057 href="/collections/apres-essentials" 6058 class="mega-menu__link" 6059 > 6060 <span class="mega-menu__link-title wrap-text">Essentials</span> 6061 </a> 6062 </li> 6063 6064 <li 6065 class="mega-menu__link--child" 6066 > 6067 <a 6068 href="/collections/apres-tools-accessories" 6069 class="mega-menu__link" 6070 > 6071 <span class="mega-menu__link-title wrap-text">Tools & Accessories</span> 6072 </a> 6073 </li> 6074 6075 <li 6076 class="mega-menu__link--child" 6077 > 6078 <a 6079 href="/collections/apres-aer-gel" 6080 class="mega-menu__link" 6081 > 6082 <span class="mega-menu__link-title wrap-text">Aer Gel</span> 6083 </a> 6084 </li> 6085 6086 <li 6087 class="mega-menu__link--child" 6088 > 6089 <a 6090 href="/collections/apres-art-inks" 6091 class="mega-menu__link" 6092 > 6093 <span class="mega-menu__link-title wrap-text">Art Inks</span> 6094 </a> 6095 </li> 6096 6097 <li 6098 class="mega-menu__link--child" 6099 > 6100 <a 6101 href="/collections/apres-clearance" 6102 class="mega-menu__link" 6103 > 6104 <span class="mega-menu__link-title wrap-text">Apres Clearance</span> 6105 </a> 6106 </li> 6107 6108 </ul> 6109 6110 </div> 6111 6112 </li> 6113 6114 6115</ul> 6116 6117 6118 6119<style data-shopify> 6120 [data-menu-grid-id="MegaMenuList-2"] { 6121 6122 --menu-columns-desktop: 5; 6123 --menu-columns-tablet: 3; 6124 6125 } 6126 6127 [data-menu-list-id="MegaMenuList-2"] { 6128 6129 --menu-columns-desktop: 1; 6130 --menu-columns-tablet: 1; 6131 6132 } 6133</style> 6134 6135 6136 6137 6138 6139 <span 6140 class="mega-menu__content" 6141 style="--menu-content-columns-desktop: 1; --menu-content-columns-tablet: 1; --resource-card-corner-radius: 12px;" 6142 > 6143 <ul 6144 class="mega-menu__content-list mega-menu__content-list--promos list-unstyled" 6145 > 6146 6147 6148 6149 </ul> 6150 </span> 6151 6152 6153 </div> 6154 </div> 6155 </div> 6156 </div></li> 6157 6158 <li 6159 role="presentation" 6160 class="menu-list__list-item" 6161 on:focus="/activate" 6162 on:blur="/deactivate" 6163 on:pointerenter="/activate" 6164 on:pointerleave="/deactivate" 6165 > 6166 <a 6167 href="/collections/nails" 6168 data-skip-node-update="true" 6169 class="menu-list__link"aria-controls="submenu-3" 6170 aria-haspopup="true" 6171 aria-expanded="false"ref="menuitem" 6172 > 6173 <span class="menu-list__link-title">Nails</span> 6174 </a>
6174<div class="menu-list__submenu color-scheme-matches-parent" ref="submenu[]"> 6175 <div 6176 id="submenu-3" 6177 class="menu-list__submenu-inner menu-list__submenu-inner--nails" 6178 style="--menu-parent-font-family: var(--font-body--family); --menu-parent-font-style: 6179var(--font-body--style); --menu-parent-font-weight: var(--font-body--weight); --menu-parent-font-case: 6180none; 6181 6182 --menu-parent-font-size: var(--menu-font-md--size); --menu-parent-font-line-height: 6183 var(--menu-font-md--line-height); --menu-parent-font-color: var(--color-foreground); 6184 --menu-parent-active-font-color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text)); 6185 6186--menu-child-font-family: var(--font-body--family); --menu-child-font-style: 6187var(--font-body--style); --menu-child-font-weight: var(--font-body--weight); --menu-child-font-case: 6188none; 6189 6190 --menu-child-font-size: var(--menu-font-sm--size); --menu-child-font-line-height: var(--menu-font-sm--line-height); 6191 --menu-child-font-color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text)); 6192 --menu-child-active-font-color: var(--color-foreground); 6193 6194" 6195 > 6196 6197 <div class="mega-menu section section--full-width-margin section--page-width"> 6198 <div 6199 class="mega-menu__grid" 6200 data-menu-grid-id="MegaMenuList-3" 6201 > 6202 6203<ul 6204 data-menu-list-id="MegaMenuList-3" 6205 class="mega-menu__list list-unstyled" 6206 style="--menu-image-border-radius: 12px;" 6207> 6208 6209 6210 6211 <li class="mega-menu__column mega-menu__column--shop-by-colour"> 6212 <div class="mega-menu__shop-by-colour-inner"> 6213 <h3 class="mega-menu__shop-by-colour-title">Shop by Colour</h3> 6214 <ul class="mega-menu__shop-by-colour-grid list-unstyled"> 6215 6216 6217 <li class="mega-menu__shop-by-colour-item"> 6218 <a 6219 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Beige&sort_by=best-selling&grid=default" 6220 class="mega-menu__shop-by-colour-card" 6221 aria-label="Beige" 6222 > 6223 6224 <div class="mega-menu__shop-by-colour-placeholder"></div> 6225 6226 <span class="mega-menu__shop-by-colour-name">Beige</span> 6227 </a> 6228 </li> 6229 6230 6231 <li class="mega-menu__shop-by-colour-item"> 6232 <a 6233 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Black&sort_by=best-selling&grid=default" 6234 class="mega-menu__shop-by-colour-card" 6235 aria-label="Black" 6236 > 6237 6238 <div class="mega-menu__shop-by-colour-swatch"> 6239 <img 6240 src="//www.tnbl.co.uk/cdn/shop/files/Black.png?v=1770112825&width=200" 6241 alt="Black" 6242 width="24" 6243 height="24" 6244 loading="lazy" 6245 > 6246 </div> 6247 6248 <span class="mega-menu__shop-by-colour-name">Black</span> 6249 </a> 6250 </li> 6251 6252 6253 <li class="mega-menu__shop-by-colour-item"> 6254 <a 6255 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Blue&sort_by=best-selling&grid=default" 6256 class="mega-menu__shop-by-colour-card" 6257 aria-label="Blue" 6258 > 6259 6260 <div class="mega-menu__shop-by-colour-swatch"> 6261 <img 6262 src="//www.tnbl.co.uk/cdn/shop/files/Blue.png?v=1770112825&width=200" 6263 alt="Blue" 6264 width="24" 6265 height="24" 6266 loading="lazy" 6267 > 6268 </div> 6269 6270 <span class="mega-menu__shop-by-colour-name">Blue</span> 6271 </a> 6272 </li> 6273 6274 6275 <li class="mega-menu__shop-by-colour-item"> 6276 <a 6277 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Brown&sort_by=best-selling&grid=default" 6278 class="mega-menu__shop-by-colour-card" 6279 aria-label="Brown" 6280 > 6281 6282 <div class="mega-menu__shop-by-colour-swatch"> 6283 <img 6284 src="//www.tnbl.co.uk/cdn/shop/files/Brown.png?v=1770112826&width=200" 6285 alt="Brown" 6286 width="24" 6287 height="24" 6288 loading="lazy" 6289 > 6290 </div> 6291
6292 <span class="mega-menu__shop-by-colour-name">Brown</span> 6293 </a> 6294 </li> 6295 6296 6297 <li class="mega-menu__shop-by-colour-item"> 6298 <a 6299 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Clear&sort_by=best-selling&grid=default" 6300 class="mega-menu__shop-by-colour-card" 6301 aria-label="Clear" 6302 > 6303 6304 <div class="mega-menu__shop-by-colour-swatch"> 6305 <img 6306 src="//www.tnbl.co.uk/cdn/shop/files/Clear.png?v=1770112825&width=200" 6307 alt="Clear" 6308 width="24" 6309 height="24" 6310 loading="lazy" 6311 > 6312 </div> 6313 6314 <span class="mega-menu__shop-by-colour-name">Clear</span> 6315 </a> 6316 </li> 6317 6318 6319 <li class="mega-menu__shop-by-colour-item"> 6320 <a 6321 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Gold&sort_by=best-selling&grid=default" 6322 class="mega-menu__shop-by-colour-card" 6323 aria-label="Gold" 6324 > 6325 6326 <div class="mega-menu__shop-by-colour-swatch"> 6327 <img 6328 src="//www.tnbl.co.uk/cdn/shop/files/Gold.png?v=1770112826&width=200" 6329 alt="Gold" 6330 width="24" 6331 height="24" 6332 loading="lazy" 6333 > 6334 </div> 6335 6336 <span class="mega-menu__shop-by-colour-name">Gold</span> 6337 </a> 6338 </li> 6339 6340 6341 <li class="mega-menu__shop-by-colour-item"> 6342 <a 6343 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Green&sort_by=best-selling&grid=default" 6344 class="mega-menu__shop-by-colour-card" 6345 aria-label="Green" 6346 > 6347 6348 <div class="mega-menu__shop-by-colour-swatch"> 6349 <img 6350 src="//www.tnbl.co.uk/cdn/shop/files/Green.png?v=1770112825&width=200" 6351 alt="Green" 6352 width="24" 6353 height="24" 6354 loading="lazy" 6355 > 6356 </div> 6357 6358 <span class="mega-menu__shop-by-colour-name">Green</span> 6359 </a> 6360 </li> 6361 6362 6363 <li class="mega-menu__shop-by-colour-item"> 6364 <a 6365 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Grey&sort_by=best-selling&grid=default" 6366 class="mega-menu__shop-by-colour-card" 6367 aria-label="Grey" 6368 > 6369 6370 <div class="mega-menu__shop-by-colour-swatch"> 6371 <img 6372 src="//www.tnbl.co.uk/cdn/shop/files/Grey.png?v=1770112826&width=200" 6373 alt="Grey" 6374 width="24" 6375 height="24" 6376 loading="lazy" 6377 > 6378 </div> 6379 6380 <span class="mega-menu__shop-by-colour-name">Grey</span> 6381 </a> 6382 </li> 6383 6384 6385 <li class="mega-menu__shop-by-colour-item"> 6386 <a 6387 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Natural&sort_by=best-selling&grid=default" 6388 class="mega-menu__shop-by-colour-card" 6389 aria-label="Natural" 6390 > 6391 6392 <div class="mega-menu__shop-by-colour-swatch"> 6393 <img 6394 src="//www.tnbl.co.uk/cdn/shop/files/Natural.png?v=1770112826&width=200" 6395 alt="Natural" 6396 width="24" 6397 height="24" 6398 loading="lazy" 6399 > 6400 </div> 6401
6402 <span class="mega-menu__shop-by-colour-name">Natural</span> 6403 </a> 6404 </li> 6405 6406 6407 <li class="mega-menu__shop-by-colour-item"> 6408 <a 6409 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Nude&sort_by=best-selling&grid=default" 6410 class="mega-menu__shop-by-colour-card" 6411 aria-label="Nude" 6412 > 6413 6414 <div class="mega-menu__shop-by-colour-swatch"> 6415 <img 6416 src="//www.tnbl.co.uk/cdn/shop/files/Nude.png?v=1770112825&width=200" 6417 alt="Nude" 6418 width="24" 6419 height="24" 6420 loading="lazy" 6421 > 6422 </div> 6423 6424 <span class="mega-menu__shop-by-colour-name">Nude</span> 6425 </a> 6426 </li> 6427 6428 6429 <li class="mega-menu__shop-by-colour-item"> 6430 <a 6431 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Orange&sort_by=best-selling&grid=default" 6432 class="mega-menu__shop-by-colour-card" 6433 aria-label="Orange" 6434 > 6435 6436 <div class="mega-menu__shop-by-colour-swatch"> 6437 <img 6438 src="//www.tnbl.co.uk/cdn/shop/files/Orange.png?v=1770112825&width=200" 6439 alt="Orange" 6440 width="24" 6441 height="24" 6442 loading="lazy" 6443 > 6444 </div> 6445 6446 <span class="mega-menu__shop-by-colour-name">Orange</span> 6447 </a> 6448 </li> 6449 6450 6451 <li class="mega-menu__shop-by-colour-item"> 6452 <a 6453 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Pink&sort_by=best-selling&grid=default" 6454 class="mega-menu__shop-by-colour-card" 6455 aria-label="Pink" 6456 > 6457 6458 <div class="mega-menu__shop-by-colour-swatch"> 6459 <img 6460 src="//www.tnbl.co.uk/cdn/shop/files/Pink.png?v=1770112826&width=200" 6461 alt="Pink" 6462 width="24" 6463 height="24" 6464 loading="lazy" 6465 > 6466 </div> 6467 6468 <span class="mega-menu__shop-by-colour-name">Pink</span> 6469 </a> 6470 </li> 6471 6472 6473 <li class="mega-menu__shop-by-colour-item"> 6474 <a 6475 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Purple&sort_by=best-selling&grid=default" 6476 class="mega-menu__shop-by-colour-card" 6477 aria-label="Purple" 6478 > 6479 6480 <div class="mega-menu__shop-by-colour-swatch"> 6481 <img 6482 src="//www.tnbl.co.uk/cdn/shop/files/Purple.png?v=1770112826&width=200" 6483 alt="Purple" 6484 width="24" 6485 height="24" 6486 loading="lazy" 6487 > 6488 </div> 6489 6490 <span class="mega-menu__shop-by-colour-name">Purple</span> 6491 </a> 6492 </li> 6493 6494 6495 <li class="mega-menu__shop-by-colour-item"> 6496 <a 6497 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Red&sort_by=best-selling&grid=default" 6498 class="mega-menu__shop-by-colour-card" 6499 aria-label="Red" 6500 > 6501 6502 <div class="mega-menu__shop-by-colour-swatch"> 6503 <img 6504 src="//www.tnbl.co.uk/cdn/shop/files/Red.png?v=1770112825&width=200" 6505 alt="Red" 6506 width="24" 6507 height="24" 6508 loading="lazy" 6509 > 6510 </div> 6511
6512 <span class="mega-menu__shop-by-colour-name">Red</span> 6513 </a> 6514 </li> 6515 6516 6517 <li class="mega-menu__shop-by-colour-item"> 6518 <a 6519 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Silver&sort_by=best-selling&grid=default" 6520 class="mega-menu__shop-by-colour-card" 6521 aria-label="Silver" 6522 > 6523 6524 <div class="mega-menu__shop-by-colour-swatch"> 6525 <img 6526 src="//www.tnbl.co.uk/cdn/shop/files/Silver.png?v=1770112826&width=200" 6527 alt="Silver" 6528 width="24" 6529 height="24" 6530 loading="lazy" 6531 > 6532 </div> 6533 6534 <span class="mega-menu__shop-by-colour-name">Silver</span> 6535 </a> 6536 </li> 6537 6538 6539 <li class="mega-menu__shop-by-colour-item"> 6540 <a 6541 href="/collections/gel-nail-polish?filter.p.m.custom.colour=White&sort_by=best-selling&grid=default" 6542 class="mega-menu__shop-by-colour-card" 6543 aria-label="White" 6544 > 6545 6546 <div class="mega-menu__shop-by-colour-swatch"> 6547 <img 6548 src="//www.tnbl.co.uk/cdn/shop/files/White.png?v=1770112826&width=200" 6549 alt="White" 6550 width="24" 6551 height="24" 6552 loading="lazy" 6553 > 6554 </div> 6555 6556 <span class="mega-menu__shop-by-colour-name">White</span> 6557 </a> 6558 </li> 6559 6560 6561 <li class="mega-menu__shop-by-colour-item"> 6562 <a 6563 href="/collections/gel-nail-polish?filter.p.m.custom.colour=Yellow&sort_by=best-selling&grid=default" 6564 class="mega-menu__shop-by-colour-card" 6565 aria-label="Yellow" 6566 > 6567 6568 <div class="mega-menu__shop-by-colour-swatch"> 6569 <img 6570 src="//www.tnbl.co.uk/cdn/shop/files/Yellow.png?v=1770112824&width=200" 6571 alt="Yellow" 6572 width="24" 6573 height="24" 6574 loading="lazy" 6575 > 6576 </div> 6577 6578 <span class="mega-menu__shop-by-colour-name">Yellow</span> 6579 </a> 6580 </li> 6581 6582 </ul> 6583 </div> 6584 </li> 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 <li class="mega-menu__column mega-menu__column--span-1"> 6597 <div> 6598 <a href="/collections/nail-extensions" class="mega-menu__link mega-menu__link--parent"> 6599 <span class="mega-menu__link-title wrap-text">Nail Extensions</span> 6600 </a> 6601 6602 <ul class="list-unstyled" style="column-count: 1;"> 6603 6604 <li class="mega-menu__link--child"> 6605 <a href="/collections/nail-extensions-acrylic-powder" class="mega-menu__link"> 6606 <span class="mega-menu__link-title wrap-text">Acrylic Powder</span> 6607 </a> 6608 </li> 6609 6610 <li class="mega-menu__link--child"> 6611 <a href="/collections/nail-extensions-acrylic-monomer-liquids" class="mega-menu__link"> 6612 <span class="mega-menu__link-title wrap-text">Acrylic Monomer & Liquids</span> 6613 </a> 6614 </li> 6615 6616 <li class="mega-menu__link--child"> 6617 <a href="/collections/nail-extensions-acrylic-gel-brushes" class="mega-menu__link"> 6618 <span class="mega-menu__link-title wrap-text">Acrylic Gel & Brushes</span> 6619 </a> 6620 </li> 6621 6622 <li class="mega-menu__link--child"> 6623 <a href="/collections/nail-extensions-soft-gel-extensions" class="mega-menu__link">
6624 <span class="mega-menu__link-title wrap-text">Soft Gel Extensions</span> 6625 </a> 6626 </li> 6627 6628 <li class="mega-menu__link--child"> 6629 <a href="/collections/nail-extensions-dip-powder" class="mega-menu__link"> 6630 <span class="mega-menu__link-title wrap-text">Dipping Powder</span> 6631 </a> 6632 </li> 6633 6634 <li class="mega-menu__link--child"> 6635 <a href="/collections/nail-extensions-nail-prep" class="mega-menu__link"> 6636 <span class="mega-menu__link-title wrap-text">Nail Prep</span> 6637 </a> 6638 </li> 6639 6640 <li class="mega-menu__link--child"> 6641 <a href="/collections/nail-extensions-nail-tips" class="mega-menu__link"> 6642 <span class="mega-menu__link-title wrap-text">Nail Tips</span> 6643 </a> 6644 </li> 6645 6646 <li class="mega-menu__link--child"> 6647 <a href="/collections/nail-extensions-nail-glue" class="mega-menu__link"> 6648 <span class="mega-menu__link-title wrap-text">Nail Glue</span> 6649 </a> 6650 </li> 6651 6652 </ul> 6653 6654 </div> 6655 6656 6657 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 <div> 6669 <a href="/collections/nail-kits" class="mega-menu__link mega-menu__link--parent"> 6670 <span class="mega-menu__link-title wrap-text">Nail Kits</span> 6671 </a> 6672 6673 <ul class="list-unstyled" style="column-count: 1;"> 6674 6675 <li class="mega-menu__link--child"> 6676 <a href="/collections/nail-kits-acrylic-nail-kits" class="mega-menu__link"> 6677 <span class="mega-menu__link-title wrap-text">Acrylic Nail Kits</span> 6678 </a> 6679 </li> 6680 6681 <li class="mega-menu__link--child"> 6682 <a href="/collections/nail-kits-gel-nail-kits" class="mega-menu__link"> 6683 <span class="mega-menu__link-title wrap-text">Gel Nail Kits</span> 6684 </a> 6685 </li> 6686 6687 <li class="mega-menu__link--child"> 6688 <a href="/collections/nail-kits-nail-art-kits" class="mega-menu__link"> 6689 <span class="mega-menu__link-title wrap-text">Nail Art Kits</span> 6690 </a> 6691 </li> 6692 6693 <li class="mega-menu__link--child"> 6694 <a href="/collections/nail-extensions-soft-gel-extensions" class="mega-menu__link"> 6695 <span class="mega-menu__link-title wrap-text">Soft Gel Extensions</span> 6696 </a> 6697 </li> 6698 6699 <li class="mega-menu__link--child"> 6700 <a href="/collections/nail-extensions-dip-powder" class="mega-menu__link"> 6701 <span class="mega-menu__link-title wrap-text">Dip Powder Kits</span> 6702 </a> 6703 </li> 6704 6705 <li class="mega-menu__link--child"> 6706 <a href="/collections/nail-kits-misc" class="mega-menu__link"> 6707 <span class="mega-menu__link-title wrap-text">Misc</span> 6708 </a> 6709 </li> 6710 6711 </ul> 6712 6713 </div> 6714 6715 6716 </li> 6717 6718 6719 6720 6721 6722 6723 6724 <li class="mega-menu__column mega-menu__column--span-1"> 6725 <div> 6726 <a href="/collections/gel-nail-polish" class="mega-menu__link mega-menu__link--parent">
6727 <span class="mega-menu__link-title wrap-text">Gel & Nail Polish</span> 6728 </a> 6729 6730 <ul class="list-unstyled" style="column-count: 1;"> 6731 6732 <li class="mega-menu__link--child"> 6733 <a href="/collections/nail-polish" class="mega-menu__link"> 6734 <span class="mega-menu__link-title wrap-text">Nail Polish</span> 6735 </a> 6736 </li> 6737 6738 <li class="mega-menu__link--child"> 6739 <a href="/collections/https-www-tnbl-co-uk-collections-hema-tpo-free-gel-polish" class="mega-menu__link"> 6740 <span class="mega-menu__link-title wrap-text">Hema + TPO Free Gel Polish</span> 6741 </a> 6742 </li> 6743 6744 <li class="mega-menu__link--child"> 6745 <a href="/collections/gel-nail-polish-gel-polish" class="mega-menu__link"> 6746 <span class="mega-menu__link-title wrap-text">Gel Polish</span> 6747 </a> 6748 </li> 6749 6750 <li class="mega-menu__link--child"> 6751 <a href="/collections/builder-gel-biab" class="mega-menu__link"> 6752 <span class="mega-menu__link-title wrap-text">Builder Gel (BIAB)</span> 6753 </a> 6754 </li> 6755 6756 <li class="mega-menu__link--child"> 6757 <a href="/collections/gel-nail-polish-hard-gel" class="mega-menu__link"> 6758 <span class="mega-menu__link-title wrap-text">Hard Gel</span> 6759 </a> 6760 </li> 6761 6762 <li class="mega-menu__link--child"> 6763 <a href="/collections/poly-gel" class="mega-menu__link"> 6764 <span class="mega-menu__link-title wrap-text">Poly Gel</span> 6765 </a> 6766 </li> 6767 6768 <li class="mega-menu__link--child"> 6769 <a href="/collections/gel-nail-polish-gel-essentials" class="mega-menu__link"> 6770 <span class="mega-menu__link-title wrap-text">Gel Essentials</span> 6771 </a> 6772 </li> 6773 6774 <li class="mega-menu__link--child"> 6775 <a href="/collections/nail-polish-essentials" class="mega-menu__link"> 6776 <span class="mega-menu__link-title wrap-text">Nail Polish Essentials</span> 6777 </a> 6778 </li> 6779 6780 <li class="mega-menu__link--child"> 6781 <a href="/collections/gel-nail-polish-gel-art" class="mega-menu__link"> 6782 <span class="mega-menu__link-title wrap-text">Gel Art</span> 6783 </a> 6784 </li> 6785 6786 </ul> 6787 6788 </div> 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 <div> 6805 <a href="/collections/manicure-pedicure" class="mega-menu__link mega-menu__link--parent"> 6806 <span class="mega-menu__link-title wrap-text">Manicure & Pedicure</span> 6807 </a> 6808 6809 <ul class="list-unstyled" style="column-count: 1;"> 6810 6811 <li class="mega-menu__link--child"> 6812 <a href="/collections/manicure-pedicure-nail-cuticle-care" class="mega-menu__link"> 6813 <span class="mega-menu__link-title wrap-text">Nail & Cuticle Care</span> 6814 </a> 6815 </li> 6816 6817 <li class="mega-menu__link--child"> 6818 <a href="/collections/manicure-pedicure-moisturising-lotions-creams" class="mega-menu__link">
6819 <span class="mega-menu__link-title wrap-text">Moisturising Lotions & Creams</span> 6820 </a> 6821 </li> 6822 6823 <li class="mega-menu__link--child"> 6824 <a href="/collections/manicure-pedicure-soaks-scrubs" class="mega-menu__link"> 6825 <span class="mega-menu__link-title wrap-text">Soaks & Scrubs</span> 6826 </a> 6827 </li> 6828 6829 <li class="mega-menu__link--child"> 6830 <a href="/collections/manicure-pedicure-masks" class="mega-menu__link"> 6831 <span class="mega-menu__link-title wrap-text">Masks</span> 6832 </a> 6833 </li> 6834 6835 <li class="mega-menu__link--child"> 6836 <a href="/collections/manicure-pedicure-foot-file-accesories" class="mega-menu__link"> 6837 <span class="mega-menu__link-title wrap-text">Foot Files & Accessories</span> 6838 </a> 6839 </li> 6840 6841 <li class="mega-menu__link--child"> 6842 <a href="/collections/manicure-pedicure-bowls-accesories" class="mega-menu__link"> 6843 <span class="mega-menu__link-title wrap-text">Bowls & Accessories</span> 6844 </a> 6845 </li> 6846 6847 <li class="mega-menu__link--child"> 6848 <a href="/collections/manicure-pedicure-toe-seperators-slippers" class="mega-menu__link"> 6849 <span class="mega-menu__link-title wrap-text">Toe Separators & Slippers</span> 6850 </a> 6851 </li> 6852 6853 </ul> 6854 6855 </div> 6856 6857 6858 </li> 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 <li class="mega-menu__column mega-menu__column--span-1"> 6869 <div> 6870 <a href="/collections/nail-art" class="mega-menu__link mega-menu__link--parent"> 6871 <span class="mega-menu__link-title wrap-text">Nail Art</span> 6872 </a> 6873 6874 <ul class="list-unstyled" style="column-count: 1;"> 6875 6876 <li class="mega-menu__link--child"> 6877 <a href="/collections/nail-art-brushes-tools" class="mega-menu__link"> 6878 <span class="mega-menu__link-title wrap-text">Nail Art Brushes & Tools</span> 6879 </a> 6880 </li> 6881 6882 <li class="mega-menu__link--child"> 6883 <a href="/collections/nail-art-chrome-powders-pigments" class="mega-menu__link"> 6884 <span class="mega-menu__link-title wrap-text">Chrome Powders & Pigments</span> 6885 </a> 6886 </li> 6887 6888 <li class="mega-menu__link--child"> 6889 <a href="/collections/nail-art-crystal-rhinestones" class="mega-menu__link"> 6890 <span class="mega-menu__link-title wrap-text">Crystals & Rhinestones</span> 6891 </a> 6892 </li> 6893 6894 <li class="mega-menu__link--child"> 6895 <a href="/collections/nail-art-glitters" class="mega-menu__link"> 6896 <span class="mega-menu__link-title wrap-text">Glitters</span> 6897 </a> 6898 </li> 6899 6900 <li class="mega-menu__link--child"> 6901 <a href="/collections/nail-art-glitter-shapes" class="mega-menu__link"> 6902 <span class="mega-menu__link-title wrap-text">Glitter Shapes</span> 6903 </a> 6904 </li> 6905 6906 <li class="mega-menu__link--child"> 6907 <a href="/collections/nail-art-stickers" class="mega-menu__link">
6908 <span class="mega-menu__link-title wrap-text">Stickers</span> 6909 </a> 6910 </li> 6911 6912 <li class="mega-menu__link--child"> 6913 <a href="/collections/nail-art-charms-decals" class="mega-menu__link"> 6914 <span class="mega-menu__link-title wrap-text">Charms & Decals</span> 6915 </a> 6916 </li> 6917 6918 <li class="mega-menu__link--child"> 6919 <a href="/collections/nail-art-angel-paper-transfer-foils" class="mega-menu__link"> 6920 <span class="mega-menu__link-title wrap-text">Angel Paper & Transfer Foils</span> 6921 </a> 6922 </li> 6923 6924 <li class="mega-menu__link--child"> 6925 <a href="/collections/nail-art-flakes" class="mega-menu__link"> 6926 <span class="mega-menu__link-title wrap-text">Flakes</span> 6927 </a> 6928 </li> 6929 6930 <li class="mega-menu__link--child"> 6931 <a href="/collections/nail-art-dried-flowers" class="mega-menu__link"> 6932 <span class="mega-menu__link-title wrap-text">Dried Flowers</span> 6933 </a> 6934 </li> 6935 6936 <li class="mega-menu__link--child"> 6937 <a href="/collections/nail-art-fimo" class="mega-menu__link"> 6938 <span class="mega-menu__link-title wrap-text">Fimo</span> 6939 </a> 6940 </li> 6941 6942 <li class="mega-menu__link--child"> 6943 <a href="/collections/nail-art-chains" class="mega-menu__link"> 6944 <span class="mega-menu__link-title wrap-text">Chains</span> 6945 </a> 6946 </li> 6947 6948 <li class="mega-menu__link--child"> 6949 <a href="/collections/nail-art-netting-lace" class="mega-menu__link"> 6950 <span class="mega-menu__link-title wrap-text">Netting & Lace</span> 6951 </a> 6952 </li> 6953 6954 <li class="mega-menu__link--child"> 6955 <a href="/collections/nail-art-micro-beads" class="mega-menu__link"> 6956 <span class="mega-menu__link-title wrap-text">Micro Beads</span> 6957 </a> 6958 </li> 6959 6960 <li class="mega-menu__link--child"> 6961 <a href="/collections/nail-art-stripers-paint" class="mega-menu__link"> 6962 <span class="mega-menu__link-title wrap-text">Nail Art Stripers & Paint</span> 6963 </a> 6964 </li> 6965 6966 <li class="mega-menu__link--child"> 6967 <a href="/collections/nail-art-other" class="mega-menu__link"> 6968 <span class="mega-menu__link-title wrap-text">Other</span> 6969 </a> 6970 </li> 6971 6972 </ul> 6973 6974 </div> 6975 6976 </li> 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 <li class="mega-menu__column mega-menu__column--span-1"> 6989 <div> 6990 <a href="/collections/nail-tools-accessories" class="mega-menu__link mega-menu__link--parent"> 6991 <span class="mega-menu__link-title wrap-text">Nail Tools & Accessories</span> 6992 </a> 6993 6994 <ul class="list-unstyled" style="column-count: 1;"> 6995 6996 <li class="mega-menu__link--child"> 6997 <a href="/collections/nail-tools-accessories-brushes" class="mega-menu__link"> 6998 <span class="mega-menu__link-title wrap-text">Brushes</span> 6999 </a> 7000 </li> 7001 7002 <li class="mega-menu__link--child"> 7003 <a href="/collections/cuticle-pushers-nippers" class="mega-menu__link">
7004 <span class="mega-menu__link-title wrap-text">Cuticle Pushers & Nippers</span> 7005 </a> 7006 </li> 7007 7008 <li class="mega-menu__link--child"> 7009 <a href="/collections/tip-cutters-nail-clippers" class="mega-menu__link"> 7010 <span class="mega-menu__link-title wrap-text">Tip Cutters & Nail Clippers</span> 7011 </a> 7012 </li> 7013 7014 <li class="mega-menu__link--child"> 7015 <a href="/collections/nail-files-buffers" class="mega-menu__link"> 7016 <span class="mega-menu__link-title wrap-text">Nail Files & Buffers</span> 7017 </a> 7018 </li> 7019 7020 <li class="mega-menu__link--child"> 7021 <a href="/collections/drill-bits-accessories" class="mega-menu__link"> 7022 <span class="mega-menu__link-title wrap-text">Drill Bits & Accessories</span> 7023 </a> 7024 </li> 7025 7026 <li class="mega-menu__link--child"> 7027 <a href="/collections/nail-tools-accessories-implements" class="mega-menu__link"> 7028 <span class="mega-menu__link-title wrap-text">Implements</span> 7029 </a> 7030 </li> 7031 7032 <li class="mega-menu__link--child"> 7033 <a href="/collections/dappen-dishes" class="mega-menu__link"> 7034 <span class="mega-menu__link-title wrap-text">Dappen Dishes</span> 7035 </a> 7036 </li> 7037 7038 <li class="mega-menu__link--child"> 7039 <a href="/collections/nail-tools-accessories-storage" class="mega-menu__link"> 7040 <span class="mega-menu__link-title wrap-text">Storage</span> 7041 </a> 7042 </li> 7043 7044 <li class="mega-menu__link--child"> 7045 <a href="/collections/displays-swatches" class="mega-menu__link"> 7046 <span class="mega-menu__link-title wrap-text">Display & Swatches</span> 7047 </a> 7048 </li> 7049 7050 <li class="mega-menu__link--child"> 7051 <a href="/collections/practise-hands-fingers" class="mega-menu__link"> 7052 <span class="mega-menu__link-title wrap-text">Practice Hands & Fingers</span> 7053 </a> 7054 </li> 7055 7056 <li class="mega-menu__link--child"> 7057 <a href="/collections/nail-tools-accessories-soak-off" class="mega-menu__link"> 7058 <span class="mega-menu__link-title wrap-text">Soak Off</span> 7059 </a> 7060 </li> 7061 7062 </ul> 7063 7064 </div> 7065 7066 </li> 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 <li class="mega-menu__column mega-menu__column--span-1"> 7081 <div> 7082 <a href="/collections/salon-essentials-hygiene" class="mega-menu__link mega-menu__link--parent"> 7083 <span class="mega-menu__link-title wrap-text">Salon Care & Hygiene</span> 7084 </a> 7085 7086 <ul class="list-unstyled" style="column-count: 1;"> 7087 7088 <li class="mega-menu__link--child"> 7089 <a href="/collections/hygiene-nail-wipes" class="mega-menu__link"> 7090 <span class="mega-menu__link-title wrap-text">Nail Wipes</span> 7091 </a> 7092 </li> 7093 7094 <li class="mega-menu__link--child"> 7095 <a href="/collections/hygiene-face-masks-gloves" class="mega-menu__link">
7096 <span class="mega-menu__link-title wrap-text">Face Mask & Gloves</span> 7097 </a> 7098 </li> 7099 7100 <li class="mega-menu__link--child"> 7101 <a href="/collections/hygiene-table-mats" class="mega-menu__link"> 7102 <span class="mega-menu__link-title wrap-text">Table Mats</span> 7103 </a> 7104 </li> 7105 7106 <li class="mega-menu__link--child"> 7107 <a href="/collections/hygiene-sanitizers-disinfectants" class="mega-menu__link"> 7108 <span class="mega-menu__link-title wrap-text">Sanitisers & Disinfectants</span> 7109 </a> 7110 </li> 7111 7112 <li class="mega-menu__link--child"> 7113 <a href="/collections/hygiene-empty-bottles-accessories" class="mega-menu__link"> 7114 <span class="mega-menu__link-title wrap-text">Empty Bottles & Pots</span> 7115 </a> 7116 </li> 7117 7118 <li class="mega-menu__link--child"> 7119 <a href="/collections/nail-kits-misc" class="mega-menu__link"> 7120 <span class="mega-menu__link-title wrap-text">Miscellaneous</span> 7121 </a> 7122 </li> 7123 7124 </ul> 7125 7126 </div> 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 <div> 7145 <a href="/collections/nails-misc" class="mega-menu__link mega-menu__link--parent"> 7146 <span class="mega-menu__link-title wrap-text">Miscellaneous</span> 7147 </a> 7148 7149 <ul class="list-unstyled" style="column-count: 1;"> 7150 7151 <li class="mega-menu__link--child"> 7152 <a href="/collections/misc-salon-posters" class="mega-menu__link"> 7153 <span class="mega-menu__link-title wrap-text">Salon Posters</span> 7154 </a> 7155 </li> 7156 7157 </ul> 7158 7159 </div> 7160 7161 7162 </li> 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191</ul> 7192 7193 7194 7195<style data-shopify> 7196 [data-menu-grid-id="MegaMenuList-3"] { 7197 7198 7199 7200 --menu-columns-desktop: 10; 7201 --menu-columns-tablet: 8; 7202 7203 7204 } 7205 7206 [data-menu-list-id="MegaMenuList-3"] { 7207 7208 --menu-columns-desktop: 6; 7209 --menu-columns-tablet: 6; 7210 7211 } 7212</style> 7213 7214 7215 7216 7217 7218 <span 7219 class="mega-menu__content" 7220 style="--menu-content-columns-desktop: 1; --menu-content-columns-tablet: 1; --resource-card-corner-radius: 12px;" 7221 > 7222 <ul 7223 class="mega-menu__content-list mega-menu__content-list--promos list-unstyled" 7224 > 7225 7226 7227 7228 </ul> 7229 </span> 7230 7231 7232 </div> 7233 </div> 7234 </div> 7235 </div></li> 7236 7237 <li 7238 role="presentation" 7239 class="menu-list__list-item" 7240 on:focus="/activate" 7241 on:blur="/deactivate" 7242 on:pointerenter="/activate" 7243 on:pointerleave="/deactivate" 7244 > 7245 <a 7246 href="/collections/beauty" 7247 data-skip-node-update="true" 7248 class="menu-list__link"aria-controls="submenu-4" 7249 aria-haspopup="true" 7250 aria-expanded="false"ref="menuitem" 7251 > 7252 <span class="menu-list__link-title">Beauty</span> 7253 </a><div class="menu-list__submenu color-scheme-matches-parent" ref="submenu[]"> 7254 <div 7255 id="submenu-4" 7256 class="menu-list__submenu-inner menu-list__submenu-inner--beauty" 7257 style="--menu-parent-font-family: var(--font-body--family); --menu-parent-font-style: 7258var(--font-body--style);
7258 --menu-parent-font-weight: var(--font-body--weight); --menu-parent-font-case: 7259none; 7260 7261 --menu-parent-font-size: var(--menu-font-md--size); --menu-parent-font-line-height: 7262 var(--menu-font-md--line-height); --menu-parent-font-color: var(--color-foreground); 7263 --menu-parent-active-font-color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text)); 7264 7265--menu-child-font-family: var(--font-body--family); --menu-child-font-style: 7266var(--font-body--style); --menu-child-font-weight: var(--font-body--weight); --menu-child-font-case: 7267none; 7268 7269 --menu-child-font-size: var(--menu-font-sm--size); --menu-child-font-line-height: var(--menu-font-sm--line-height); 7270 --menu-child-font-color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text)); 7271 --menu-child-active-font-color: var(--color-foreground); 7272 7273" 7274 > 7275 7276 <div class="mega-menu section section--full-width-margin section--page-width"> 7277 <div 7278 class="mega-menu__grid" 7279 data-menu-grid-id="MegaMenuList-4" 7280 > 7281 7282<ul 7283 data-menu-list-id="MegaMenuList-4" 7284 class="mega-menu__list list-unstyled" 7285 style="--menu-image-border-radius: 12px;" 7286> 7287 7288 7289 7290 <li class="mega-menu__column mega-menu__column--span-1"> 7291 <div> 7292 <a 7293 7294 href="/collections/beauty" 7295 7296 class="mega-menu__link mega-menu__link--parent" 7297 > 7298 7299 <span 7300 class="mega-menu__link-title wrap-text" 7301 >Beauty</span> 7302 </a> 7303 7304 <ul 7305 class="list-unstyled" 7306 style="column-count: 1;" 7307 > 7308 7309 <li 7310 class="mega-menu__link--child" 7311 > 7312 <a 7313 href="/collections/body" 7314 class="mega-menu__link" 7315 > 7316 <span class="mega-menu__link-title wrap-text">Body</span> 7317 </a> 7318 </li> 7319 7320 <li 7321 class="mega-menu__link--child" 7322 > 7323 <a 7324 href="/collections/eyebrows" 7325 class="mega-menu__link" 7326 > 7327 <span class="mega-menu__link-title wrap-text">Eyebrows</span> 7328 </a> 7329 </li> 7330 7331 <li 7332 class="mega-menu__link--child" 7333 > 7334 <a 7335 href="/collections/eyelashes" 7336 class="mega-menu__link" 7337 > 7338 <span class="mega-menu__link-title wrap-text">Eyelashes</span> 7339 </a> 7340 </li> 7341 7342 <li 7343 class="mega-menu__link--child" 7344 > 7345 <a 7346 href="/collections/waxing" 7347 class="mega-menu__link" 7348 > 7349 <span class="mega-menu__link-title wrap-text">Waxing</span> 7350 </a> 7351 </li> 7352 7353 <li 7354 class="mega-menu__link--child" 7355 > 7356 <a 7357 href="/collections/tanning" 7358 class="mega-menu__link" 7359 > 7360 <span class="mega-menu__link-title wrap-text">Tanning</span> 7361 </a> 7362 </li> 7363 7364 <li 7365 class="mega-menu__link--child" 7366 > 7367 <a 7368 href="/collections/facial" 7369 class="mega-menu__link" 7370 > 7371 <span class="mega-menu__link-title wrap-text">Facial</span> 7372 </a> 7373 </li> 7374 7375 </ul> 7376 7377 </div> 7378 7379 </li> 7380 7381 7382</ul> 7383 7384 7385 7386<style data-shopify> 7387 [data-menu-grid-id="MegaMenuList-4"] { 7388 7389 --menu-columns-desktop: 5; 7390 --menu-columns-tablet: 3; 7391 7392 } 7393 7394 [data-menu-list-id="MegaMenuList-4"] { 7395 7396 --menu-columns-desktop: 1; 7397 --menu-columns-tablet: 1; 7398 7399 } 7400</style> 7401 7402 7403 7404 7405 7406 <span 7407 class="mega-menu__content" 7408 style="--menu-content-columns-desktop: 3; --menu-content-columns-tablet: 2; --resource-card-corner-radius: 12px;" 7409 > 7410 <ul 7411 class="mega-menu__content-list mega-menu__content-list--promos list-unstyled" 7412 > 7413 7414 7415 <li class="mega-menu__content-list-item"> 7416 <div class="resource-card mega-menu__promo-card" data-resource-type="promo"> 7417 <div class="mega-menu__promo-card__media-wrap"> 7418 7419 <a href="/collections/eyelashes" class="mega-menu__promo-card__link"> 7420 <img src="//www.tnbl.co.uk/cdn/shop/files/Rectangle_65_copy_2.png?v=1770737954&width=302" srcset="//www.tnbl.co.uk/cdn/shop/files/Rectangle_65_copy_2.png?v=1770737954&width=302 302w" width="302" height="302" loading="lazy" class="mega-menu__content-promo"> 7421 </a> 7422 7423 7424 <div 7425 class="overlay overlay--gradient mega-menu__promo-card__overlay" 7426 style=" 7427 --overlay-layer: var(--layer-flat); 7428 --overlay-color: #00000026; 7429 --overlay-color--end: rgba(0, 0, 0, 0); 7430 --overlay-direction: to top; 7431 --overlay-border-radius: var(--resource-card-corner-radius, 0); 7432 " 7433 ></div> 7434 7435 </div> 7436 <p class="resource-card__title h5 mega-menu__promo-card__title">Eyelashes</p> 7437 </div> 7438 </li> 7439 7440 <li class="mega-menu__content-list-item"> 7441 <div class="resource-card mega-menu__promo-card" data-resource-type="promo"> 7442 <div class="mega-menu__promo-card__media-wrap"> 7443 7444 <a href="/collections/body" class="mega-menu__promo-card__link"> 7445 <img src="//www.tnbl.co.uk/cdn/shop/files/Rectangle_65_copy.png?v=1770737954&width=302" srcset="//www.tnbl.co.uk/cdn/shop/files/Rectangle_65_copy.png?v=1770737954&width=302 302w" width="302" height="302" loading="lazy" class="mega-menu__content-promo"> 7446 </a> 7447 7448 7449 <div 7450 class="overlay overlay--gradient mega-menu__promo-card__overlay" 7451 style=" 7452 --overlay-layer: var(--layer-flat); 7453 --overlay-color: #00000026; 7454 --overlay-color--end: rgba(0, 0, 0, 0); 7455 --overlay-direction: to top; 7456 --overlay-border-radius: var(--resource-card-corner-radius, 0); 7457 " 7458 ></div> 7459 7460 </div> 7461 <p class="resource-card__title h5 mega-menu__promo-card__title">Body</p> 7462 </div> 7463 </li> 7464 7465 <li class="mega-menu__content-list-item mega-menu__content-list-item--hidden-tablet"> 7466 <div class="resource-card mega-menu__promo-card" data-resource-type="promo"> 7467 <div class="mega-menu__promo-card__media-wrap"> 7468 7469 <a href="/collections/eyebrows" class="mega-menu__promo-card__link"> 7470 <img src="//www.tnbl.co.uk/cdn/shop/files/Rectangle_65_copy_2.png?v=1770737954&width=302" srcset="//www.tnbl.co.uk/cdn/shop/files/Rectangle_65_copy_2.png?v=1770737954&width=302 302w" width="302" height="302" loading="lazy" class="mega-menu__content-promo"> 7471 </a> 7472 7473 7474 <div 7475 class="overlay overlay--gradient mega-menu__promo-card__overlay" 7476 style=" 7477 --overlay-layer: var(--layer-flat); 7478 --overlay-color: #00000026; 7479 --overlay-color--end: rgba(0, 0, 0, 0); 7480 --overlay-direction: to top; 7481 --overlay-border-radius: var(--resource-card-corner-radius, 0); 7482 " 7483 ></div> 7484 7485 </div> 7486 <p class="resource-card__title h5 mega-menu__promo-card__title">Eyebrows</p> 7487 </div> 7488 </li> 7489 7490 7491 </ul> 7492 </span> 7493 7494 7495 </div> 7496 </div> 7497 </div> 7498 </div></li> 7499 7500 <li 7501 role="presentation" 7502 class="menu-list__list-item" 7503 on:focus="/activate" 7504 on:blur="/deactivate"
7505 on:pointerenter="/activate" 7506 on:pointerleave="/deactivate" 7507 > 7508 <a 7509 href="/collections/electricals" 7510 data-skip-node-update="true" 7511 class="menu-list__link"aria-controls="submenu-5" 7512 aria-haspopup="true" 7513 aria-expanded="false"ref="menuitem" 7514 > 7515 <span class="menu-list__link-title">Electricals</span> 7516 </a><div class="menu-list__submenu color-scheme-matches-parent" ref="submenu[]"> 7517 <div 7518 id="submenu-5" 7519 class="menu-list__submenu-inner menu-list__submenu-inner--electricals" 7520 style="--menu-parent-font-family: var(--font-body--family); --menu-parent-font-style: 7521var(--font-body--style); --menu-parent-font-weight: var(--font-body--weight); --menu-parent-font-case: 7522none; 7523 7524 --menu-parent-font-size: var(--menu-font-md--size); --menu-parent-font-line-height: 7525 var(--menu-font-md--line-height); --menu-parent-font-color: var(--color-foreground); 7526 --menu-parent-active-font-color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text)); 7527 7528--menu-child-font-family: var(--font-body--family); --menu-child-font-style: 7529var(--font-body--style); --menu-child-font-weight: var(--font-body--weight); --menu-child-font-case: 7530none; 7531 7532 --menu-child-font-size: var(--menu-font-sm--size); --menu-child-font-line-height: var(--menu-font-sm--line-height); 7533 --menu-child-font-color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text)); 7534 --menu-child-active-font-color: var(--color-foreground); 7535 7536" 7537 > 7538 7539 <div class="mega-menu section section--full-width-margin section--page-width"> 7540 <div 7541 class="mega-menu__grid" 7542 data-menu-grid-id="MegaMenuList-5" 7543 > 7544 7545<ul 7546 data-menu-list-id="MegaMenuList-5" 7547 class="mega-menu__list list-unstyled" 7548 style="--menu-image-border-radius: 12px;" 7549> 7550 7551 7552 7553 <li class="mega-menu__column mega-menu__column--span-1"> 7554 <div> 7555 <a 7556 7557 href="/collections/electricals" 7558 7559 class="mega-menu__link mega-menu__link--parent" 7560 > 7561 7562 <span 7563 class="mega-menu__link-title wrap-text" 7564 >Electricals</span> 7565 </a> 7566 7567 <ul 7568 class="list-unstyled" 7569 style="column-count: 1;" 7570 > 7571 7572 <li 7573 class="mega-menu__link--child" 7574 > 7575 <a 7576 href="/collections/nail-file-machines" 7577 class="mega-menu__link" 7578 > 7579 <span class="mega-menu__link-title wrap-text">Nail File Machines</span> 7580 </a> 7581 </li> 7582 7583 <li 7584 class="mega-menu__link--child" 7585 > 7586 <a 7587 href="/collections/uv-led-lamps" 7588 class="mega-menu__link" 7589 > 7590 <span class="mega-menu__link-title wrap-text">UV/LED Lamps</span> 7591 </a> 7592 </li> 7593 7594 <li 7595 class="mega-menu__link--child" 7596 > 7597 <a 7598 href="/collections/dust-collector" 7599 class="mega-menu__link" 7600 > 7601 <span class="mega-menu__link-title wrap-text">Dust Collector</span> 7602 </a> 7603 </li> 7604 7605 <li 7606 class="mega-menu__link--child" 7607 > 7608 <a 7609 href="/collections/table-lamps" 7610 class="mega-menu__link" 7611 > 7612 <span class="mega-menu__link-title wrap-text">Table Lamps</span> 7613 </a> 7614 </li> 7615 7616 <li 7617 class="mega-menu__link--child" 7618 > 7619 <a 7620 href="/collections/nail-dryers" 7621 class="mega-menu__link" 7622 > 7623 <span class="mega-menu__link-title wrap-text">Nail Dryers</span> 7624 </a> 7625 </li> 7626 7627 <li 7628 class="mega-menu__link--child" 7629 > 7630 <a 7631 href="/collections/wax-heaters" 7632 class="mega-menu__link" 7633 >
7634 <span class="mega-menu__link-title wrap-text">Wax Heaters</span> 7635 </a> 7636 </li> 7637 7638 <li 7639 class="mega-menu__link--child" 7640 > 7641 <a 7642 href="/collections/steriliser" 7643 class="mega-menu__link" 7644 > 7645 <span class="mega-menu__link-title wrap-text">Steriliser</span> 7646 </a> 7647 </li> 7648 7649 <li 7650 class="mega-menu__link--child" 7651 > 7652 <a 7653 href="/collections/towel-warmers" 7654 class="mega-menu__link" 7655 > 7656 <span class="mega-menu__link-title wrap-text">Towel Warmers</span> 7657 </a> 7658 </li> 7659 7660 <li 7661 class="mega-menu__link--child" 7662 > 7663 <a 7664 href="/collections/accessories-spare-parts" 7665 class="mega-menu__link" 7666 > 7667 <span class="mega-menu__link-title wrap-text">Accessories & Spares</span> 7668 </a> 7669 </li> 7670 7671 <li 7672 class="mega-menu__link--child" 7673 > 7674 <a 7675 href="/collections/servicing-repairs" 7676 class="mega-menu__link" 7677 > 7678 <span class="mega-menu__link-title wrap-text">Servicing & Repairs</span> 7679 </a> 7680 </li> 7681 7682 </ul> 7683 7684 </div> 7685 7686 </li> 7687 7688 7689</ul> 7690 7691 7692 7693<style data-shopify> 7694 [data-menu-grid-id="MegaMenuList-5"] { 7695 7696 --menu-columns-desktop: 5; 7697 --menu-columns-tablet: 3; 7698 7699 } 7700 7701 [data-menu-list-id="MegaMenuList-5"] { 7702 7703 --menu-columns-desktop: 1; 7704 --menu-columns-tablet: 1; 7705 7706 } 7707</style> 7708 7709 7710 7711 7712 7713 <span 7714 class="mega-menu__content" 7715 style="--menu-content-columns-desktop: 3; --menu-content-columns-tablet: 2; --resource-card-corner-radius: 12px;" 7716 > 7717 <ul 7718 class="mega-menu__content-list mega-menu__content-list--promos list-unstyled" 7719 > 7720 7721 7722 <li class="mega-menu__content-list-item"> 7723 <div class="resource-card mega-menu__promo-card" data-resource-type="promo"> 7724 <div class="mega-menu__promo-card__media-wrap"> 7725 7726 <a href="/collections/nail-file-machines" class="mega-menu__promo-card__link"> 7727 <img src="//www.tnbl.co.uk/cdn/shop/files/Rectangle_65.png?v=1770737946&width=302" srcset="//www.tnbl.co.uk/cdn/shop/files/Rectangle_65.png?v=1770737946&width=302 302w" width="302" height="302" loading="lazy" class="mega-menu__content-promo"> 7728 </a> 7729 7730 7731 <div 7732 class="overlay overlay--gradient mega-menu__promo-card__overlay" 7733 style=" 7734 --overlay-layer: var(--layer-flat); 7735 --overlay-color: #00000026; 7736 --overlay-color--end: rgba(0, 0, 0, 0); 7737 --overlay-direction: to top; 7738 --overlay-border-radius: var(--resource-card-corner-radius, 0); 7739 " 7740 ></div> 7741 7742 </div> 7743 <p class="resource-card__title h5 mega-menu__promo-card__title">Nail File Machines</p> 7744 </div> 7745 </li> 7746 7747 <li class="mega-menu__content-list-item"> 7748 <div class="resource-card mega-menu__promo-card" data-resource-type="promo"> 7749 <div class="mega-menu__promo-card__media-wrap"> 7750 7751 <a href="/collections/uv-led-lamps" class="mega-menu__promo-card__link"> 7752 <img src="//www.tnbl.co.uk/cdn/shop/files/image_1.png?v=1770737946&width=302" srcset="//www.tnbl.co.uk/cdn/shop/files/image_1.png?v=1770737946&width=302 302w" width="302" height="302" loading="lazy" class="mega-menu__content-promo"> 7753 </a> 7754 7755 7756 <div 7757 class="overlay overlay--gradient mega-menu__promo-card__overlay" 7758 style=" 7759 --overlay-layer: var(--layer-flat); 7760 --overlay-color: #00000026; 7761 --overlay-color--end: rgba(0, 0, 0, 0); 7762 --overlay-direction: to top; 7763 --overlay-border-radius: var(--resource-card-corner-radius, 0); 7764 " 7765 ></div> 7766 7767 </div> 7768 <p class="resource-card__title h5 mega-menu__promo-card__title">UV/LED Lamps</p> 7769 </div> 7770 </li> 7771 7772 <li class="mega-menu__content-list-item mega-menu__content-list-item--hidden-tablet"> 7773 <div class="resource-card mega-menu__promo-card" data-resource-type="promo"> 7774 <div class="mega-menu__promo-card__media-wrap"> 7775 7776 <a href="/collections/table-lamps" class="mega-menu__promo-card__link"> 7777 <img src="//www.tnbl.co.uk/cdn/shop/files/image_2.png?v=1770737945&width=302" srcset="//www.tnbl.co.uk/cdn/shop/files/image_2.png?v=1770737945&width=302 302w" width="302" height="302" loading="lazy" class="mega-menu__content-promo"> 7778 </a> 7779 7780 7781 <div 7782 class="overlay overlay--gradient mega-menu__promo-card__overlay" 7783 style=" 7784 --overlay-layer: var(--layer-flat); 7785 --overlay-color: #00000026; 7786 --overlay-color--end: rgba(0, 0, 0, 0); 7787 --overlay-direction: to top; 7788 --overlay-border-radius: var(--resource-card-corner-radius, 0); 7789 " 7790 ></div> 7791 7792 </div> 7793 <p class="resource-card__title h5 mega-menu__promo-card__title">Table Lamps</p> 7794 </div> 7795 </li> 7796 7797 7798 </ul> 7799 </span> 7800 7801 7802 </div> 7803 </div> 7804 </div> 7805 </div></li> 7806 7807 <li 7808 role="presentation" 7809 class="menu-list__list-item" 7810 on:focus="/activate" 7811 on:blur="/deactivate"
7812 on:pointerenter="/activate" 7813 on:pointerleave="/deactivate" 7814 > 7815 <a 7816 href="/collections/furniture" 7817 data-skip-node-update="true" 7818 class="menu-list__link"aria-controls="submenu-6" 7819 aria-haspopup="true" 7820 aria-expanded="false"ref="menuitem" 7821 > 7822 <span class="menu-list__link-title">Furniture</span> 7823 </a><div class="menu-list__submenu color-scheme-matches-parent" ref="submenu[]"> 7824 <div 7825 id="submenu-6" 7826 class="menu-list__submenu-inner menu-list__submenu-inner--furniture" 7827 style="--menu-parent-font-family: var(--font-body--family); --menu-parent-font-style: 7828var(--font-body--style); --menu-parent-font-weight: var(--font-body--weight); --menu-parent-font-case: 7829none; 7830 7831 --menu-parent-font-size: var(--menu-font-md--size); --menu-parent-font-line-height: 7832 var(--menu-font-md--line-height); --menu-parent-font-color: var(--color-foreground); 7833 --menu-parent-active-font-color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text)); 7834 7835--menu-child-font-family: var(--font-body--family); --menu-child-font-style: 7836var(--font-body--style); --menu-child-font-weight: var(--font-body--weight); --menu-child-font-case: 7837none; 7838 7839 --menu-child-font-size: var(--menu-font-sm--size); --menu-child-font-line-height: var(--menu-font-sm--line-height); 7840 --menu-child-font-color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text)); 7841 --menu-child-active-font-color: var(--color-foreground); 7842 7843" 7844 > 7845 7846 <div class="mega-menu section section--full-width-margin section--page-width"> 7847 <div 7848 class="mega-menu__grid" 7849 data-menu-grid-id="MegaMenuList-6" 7850 > 7851 7852<ul 7853 data-menu-list-id="MegaMenuList-6" 7854 class="mega-menu__list list-unstyled" 7855 style="--menu-image-border-radius: 12px;" 7856> 7857 7858 7859 7860 <li class="mega-menu__column mega-menu__column--span-1"> 7861 <div> 7862 <a 7863 7864 href="/collections/furniture" 7865 7866 class="mega-menu__link mega-menu__link--parent" 7867 > 7868 7869 <span 7870 class="mega-menu__link-title wrap-text" 7871 >Furniture</span> 7872 </a> 7873 7874 <ul 7875 class="list-unstyled" 7876 style="column-count: 1;" 7877 > 7878 7879 <li 7880 class="mega-menu__link--child" 7881 > 7882 <a 7883 href="/collections/manicure-tables" 7884 class="mega-menu__link" 7885 > 7886 <span class="mega-menu__link-title wrap-text">Manicure Table</span> 7887 </a> 7888 </li> 7889 7890 <li 7891 class="mega-menu__link--child" 7892 > 7893 <a 7894 href="/collections/pedicure-chairs" 7895 class="mega-menu__link" 7896 > 7897 <span class="mega-menu__link-title wrap-text">Pedicure Chairs</span> 7898 </a> 7899 </li> 7900 7901 <li 7902 class="mega-menu__link--child" 7903 > 7904 <a 7905 href="/collections/reception-desks" 7906 class="mega-menu__link" 7907 > 7908 <span class="mega-menu__link-title wrap-text">Reception Desks</span> 7909 </a> 7910 </li> 7911 7912 <li 7913 class="mega-menu__link--child" 7914 > 7915 <a 7916 href="/collections/chairs-stools" 7917 class="mega-menu__link" 7918 > 7919 <span class="mega-menu__link-title wrap-text">Chairs & Stools</span> 7920 </a> 7921 </li> 7922 7923 <li 7924 class="mega-menu__link--child" 7925 > 7926 <a 7927 href="/collections/trolleys" 7928 class="mega-menu__link" 7929 > 7930 <span class="mega-menu__link-title wrap-text">Trolleys</span> 7931 </a> 7932 </li> 7933 7934 <li 7935 class="mega-menu__link--child" 7936 > 7937 <a 7938 href="/collections/arm-foot-rests" 7939 class="mega-menu__link" 7940 >
7941 <span class="mega-menu__link-title wrap-text">Arm & Foot Rests</span> 7942 </a> 7943 </li> 7944 7945 <li 7946 class="mega-menu__link--child" 7947 > 7948 <a 7949 href="/collections/wall-counter-displays" 7950 class="mega-menu__link" 7951 > 7952 <span class="mega-menu__link-title wrap-text">Wall & Counter Displays</span> 7953 </a> 7954 </li> 7955 7956 </ul> 7957 7958 </div> 7959 7960 </li> 7961 7962 7963</ul> 7964 7965 7966 7967<style data-shopify> 7968 [data-menu-grid-id="MegaMenuList-6"] { 7969 7970 --menu-columns-desktop: 5; 7971 --menu-columns-tablet: 3; 7972 7973 } 7974 7975 [data-menu-list-id="MegaMenuList-6"] { 7976 7977 --menu-columns-desktop: 1; 7978 --menu-columns-tablet: 1; 7979 7980 } 7981</style> 7982 7983 7984 7985 7986 7987 <span 7988 class="mega-menu__content" 7989 style="--menu-content-columns-desktop: 3; --menu-content-columns-tablet: 2; --resource-card-corner-radius: 12px;" 7990 > 7991 <ul 7992 class="mega-menu__content-list mega-menu__content-list--promos list-unstyled" 7993 > 7994 7995 7996 <li class="mega-menu__content-list-item"> 7997 <div class="resource-card mega-menu__promo-card" data-resource-type="promo"> 7998 <div class="mega-menu__promo-card__media-wrap"> 7999 8000 <a href="/collections/chairs-stools" class="mega-menu__promo-card__link"> 8001 <img src="//www.tnbl.co.uk/cdn/shop/files/Rectangle_65_a305ecf2-f347-48e9-95ba-4ade1adc1183.png?v=1770737962&width=302" srcset="//www.tnbl.co.uk/cdn/shop/files/Rectangle_65_a305ecf2-f347-48e9-95ba-4ade1adc1183.png?v=1770737962&width=302 302w" width="302" height="302" loading="lazy" class="mega-menu__content-promo"> 8002 </a> 8003 8004 8005 <div 8006 class="overlay overlay--gradient mega-menu__promo-card__overlay" 8007 style=" 8008 --overlay-layer: var(--layer-flat); 8009 --overlay-color: #00000026; 8010 --overlay-color--end: rgba(0, 0, 0, 0); 8011 --overlay-direction: to top; 8012 --overlay-border-radius: var(--resource-card-corner-radius, 0); 8013 " 8014 ></div> 8015 8016 </div> 8017 <p class="resource-card__title h5 mega-menu__promo-card__title">Chairs & Stools</p> 8018 </div> 8019 </li> 8020 8021 <li class="mega-menu__content-list-item"> 8022 <div class="resource-card mega-menu__promo-card" data-resource-type="promo"> 8023 <div class="mega-menu__promo-card__media-wrap"> 8024 8025 <a href="/collections/arm-foot-rests" class="mega-menu__promo-card__link"> 8026 <img src="//www.tnbl.co.uk/cdn/shop/files/Rectangle_65_copy_2_c245f012-56d0-4715-9846-a264cdd818a9.png?v=1770737962&width=302" srcset="//www.tnbl.co.uk/cdn/shop/files/Rectangle_65_copy_2_c245f012-56d0-4715-9846-a264cdd818a9.png?v=1770737962&width=302 302w" width="302" height="302" loading="lazy" class="mega-menu__content-promo"> 8027 </a> 8028 8029 8030 <div 8031 class="overlay overlay--gradient mega-menu__promo-card__overlay" 8032 style=" 8033 --overlay-layer: var(--layer-flat); 8034 --overlay-color: #00000026; 8035 --overlay-color--end: rgba(0, 0, 0, 0); 8036 --overlay-direction: to top; 8037 --overlay-border-radius: var(--resource-card-corner-radius, 0); 8038 " 8039 ></div> 8040 8041 </div> 8042 <p class="resource-card__title h5 mega-menu__promo-card__title">Arm & Foot Rests</p> 8043 </div> 8044 </li> 8045 8046 <li class="mega-menu__content-list-item mega-menu__content-list-item--hidden-tablet"> 8047 <div class="resource-card mega-menu__promo-card" data-resource-type="promo"> 8048 <div class="mega-menu__promo-card__media-wrap"> 8049 8050 <a href="/collections/displays-swatches" class="mega-menu__promo-card__link"> 8051 <img src="//www.tnbl.co.uk/cdn/shop/files/Rectangle_65_copy_8972af1f-2
8051656-4029-8887-cbb22aee3ee0.png?v=1770737961&width=302" srcset="//www.tnbl.co.uk/cdn/shop/files/Rectangle_65_copy_8972af1f-2656-4029-8887-cbb22aee3ee0.png?v=1770737961&width=302 302w" width="302" height="302" loading="lazy" class="mega-menu__content-promo"> 8052 </a> 8053 8054 8055 <div 8056 class="overlay overlay--gradient mega-menu__promo-card__overlay" 8057 style=" 8058 --overlay-layer: var(--layer-flat); 8059 --overlay-color: #00000026; 8060 --overlay-color--end: rgba(0, 0, 0, 0); 8061 --overlay-direction: to top; 8062 --overlay-border-radius: var(--resource-card-corner-radius, 0); 8063 " 8064 ></div> 8065 8066 </div> 8067 <p class="resource-card__title h5 mega-menu__promo-card__title">Display Stands</p> 8068 </div> 8069 </li> 8070 8071 8072 </ul> 8073 </span> 8074 8075 8076 </div> 8077 </div> 8078 </div> 8079 </div></li> 8080 8081 <li 8082 role="presentation" 8083 class="menu-list__list-item" 8084 on:focus="/activate" 8085 on:blur="/deactivate" 8086 on:pointerenter="/activate" 8087 on:pointerleave="/deactivate" 8088 > 8089 <a 8090 href="/" 8091 data-skip-node-update="true" 8092 class="menu-list__link"aria-controls="submenu-7" 8093 aria-haspopup="true" 8094 aria-expanded="false"ref="menuitem" 8095 > 8096 <span class="menu-list__link-title">Brands</span> 8097 </a><div class="menu-list__submenu color-scheme-matches-parent" ref="submenu[]"> 8098 <div 8099 id="submenu-7" 8100 class="menu-list__submenu-inner menu-list__submenu-inner--brands" 8101 style="--menu-parent-font-family: var(--font-body--family); --menu-parent-font-style: 8102var(--font-body--style); --menu-parent-font-weight: var(--font-body--weight); --menu-parent-font-case: 8103none; 8104 8105 --menu-parent-font-size: var(--menu-font-md--size); --menu-parent-font-line-height: 8106 var(--menu-font-md--line-height); --menu-parent-font-color: var(--color-foreground); 8107 --menu-parent-active-font-color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text)); 8108 8109--menu-child-font-family: var(--font-body--family); --menu-child-font-style: 8110var(--font-body--style); --menu-child-font-weight: var(--font-body--weight); --menu-child-font-case: 8111none; 8112 8113 --menu-child-font-size: var(--menu-font-sm--size); --menu-child-font-line-height: var(--menu-font-sm--line-height); 8114 --menu-child-font-color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text)); 8115 --menu-child-active-font-color: var(--color-foreground); 8116 8117" 8118 > 8119 8120 <div class="mega-menu section section--full-width-margin section--page-width"> 8121 <div 8122 class="mega-menu__grid" 8123 data-menu-grid-id="MegaMenuList-7" 8124 > 8125 8126<ul 8127 data-menu-list-id="MegaMenuList-7" 8128 class="mega-menu__list list-unstyled" 8129 style="--menu-image-border-radius: 12px;" 8130> 8131 8132 8133 8134 <li class="mega-menu__column mega-menu__column--span-2 mega-menu__column--hide-title"> 8135 <div> 8136 <a 8137 8138 href="/collections" 8139 8140 class="mega-menu__link mega-menu__link--parent" 8141 > 8142 8143 <span 8144 class="mega-menu__link-title wrap-text" 8145 >Lorem Ipsum</span> 8146 </a> 8147 8148 <ul 8149 class="list-unstyled" 8150 style="column-count: 1;" 8151 > 8152 8153 <li 8154 class="mega-menu__link--child" 8155 > 8156 <a 8157 href="/collections/777" 8158 class="mega-menu__link" 8159 > 8160 <span class="mega-menu__link-title wrap-text">777</span> 8161 </a> 8162 </li> 8163 8164 <li 8165 class="mega-menu__link--child" 8166 > 8167 <a 8168 href="/collections/aeon" 8169 class="mega-menu__link" 8170 >
8171 <span class="mega-menu__link-title wrap-text">AEON</span> 8172 </a> 8173 </li> 8174 8175 <li 8176 class="mega-menu__link--child" 8177 > 8178 <a 8179 href="/collections/aiko" 8180 class="mega-menu__link" 8181 > 8182 <span class="mega-menu__link-title wrap-text">AIKO</span> 8183 </a> 8184 </li> 8185 8186 <li 8187 class="mega-menu__link--child" 8188 > 8189 <a 8190 href="/collections/apres" 8191 class="mega-menu__link" 8192 > 8193 <span class="mega-menu__link-title wrap-text">APRES</span> 8194 </a> 8195 </li> 8196 8197 <li 8198 class="mega-menu__link--child" 8199 > 8200 <a 8201 href="/collections/ardell" 8202 class="mega-menu__link" 8203 > 8204 <span class="mega-menu__link-title wrap-text">ARDELL</span> 8205 </a> 8206 </li> 8207 8208 <li 8209 class="mega-menu__link--child" 8210 > 8211 <a 8212 href="/collections/art-club" 8213 class="mega-menu__link" 8214 > 8215 <span class="mega-menu__link-title wrap-text">ART CLUB</span> 8216 </a> 8217 </li> 8218 8219 <li 8220 class="mega-menu__link--child" 8221 > 8222 <a 8223 href="/collections/aurelia" 8224 class="mega-menu__link" 8225 > 8226 <span class="mega-menu__link-title wrap-text">AURELIA</span> 8227 </a> 8228 </li> 8229 8230 <li 8231 class="mega-menu__link--child" 8232 > 8233 <a 8234 href="/collections/avp" 8235 class="mega-menu__link" 8236 > 8237 <span class="mega-menu__link-title wrap-text">AVP</span> 8238 </a> 8239 </li> 8240 8241 <li 8242 class="mega-menu__link--child" 8243 > 8244 <a 8245 href="/collections/baisidai" 8246 class="mega-menu__link" 8247 > 8248 <span class="mega-menu__link-title wrap-text">BAISIDAI</span> 8249 </a> 8250 </li> 8251 8252 <li 8253 class="mega-menu__link--child" 8254 > 8255 <a 8256 href="/collections/barbicide" 8257 class="mega-menu__link" 8258 > 8259 <span class="mega-menu__link-title wrap-text">BARBICIDE</span> 8260 </a> 8261 </li> 8262 8263 <li 8264 class="mega-menu__link--child" 8265 > 8266 <a 8267 href="/collections/be-beauty" 8268 class="mega-menu__link" 8269 > 8270 <span class="mega-menu__link-title wrap-text">BE BEAUTY</span> 8271 </a> 8272 </li> 8273 8274 <li 8275 class="mega-menu__link--child" 8276 > 8277 <a 8278 href="/collections/beauty-max" 8279 class="mega-menu__link" 8280 > 8281 <span class="mega-menu__link-title wrap-text">BEAUTY MAX</span> 8282 </a> 8283 </li> 8284 8285 <li 8286 class="mega-menu__link--child" 8287 > 8288 <a 8289 href="/collections/cacee" 8290 class="mega-menu__link" 8291 > 8292 <span class="mega-menu__link-title wrap-text">CACEE</span> 8293 </a> 8294 </li> 8295 8296 <li 8297 class="mega-menu__link--child" 8298 > 8299 <a 8300 href="/collections/chernaya-rechka" 8301 class="mega-menu__link" 8302 > 8303 <span class="mega-menu__link-title wrap-text">CHERNAYA RECHKA</span> 8304 </a> 8305 </li> 8306 8307 <li 8308 class="mega-menu__link--child" 8309 > 8310 <a 8311 href="/collections/christrio" 8312 class="mega-menu__link" 8313 >
8314 <span class="mega-menu__link-title wrap-text">CHRISTRIO</span> 8315 </a> 8316 </li> 8317 8318 <li 8319 class="mega-menu__link--child" 8320 > 8321 <a 8322 href="/collections/cnd" 8323 class="mega-menu__link" 8324 > 8325 <span class="mega-menu__link-title wrap-text">CND</span> 8326 </a> 8327 </li> 8328 8329 <li 8330 class="mega-menu__link--child" 8331 > 8332 <a 8333 href="/collections/color-club" 8334 class="mega-menu__link" 8335 > 8336 <span class="mega-menu__link-title wrap-text">COLOR CLUB</span> 8337 </a> 8338 </li> 8339 8340 <li 8341 class="mega-menu__link--child" 8342 > 8343 <a 8344 href="/collections/credo" 8345 class="mega-menu__link" 8346 > 8347 <span class="mega-menu__link-title wrap-text">CREDO</span> 8348 </a> 8349 </li> 8350 8351 </ul> 8352 8353 </div> 8354 8355 </li> 8356 8357 <li class="mega-menu__column mega-menu__column--span-2 mega-menu__column--hide-title"> 8358 <div> 8359 <a 8360 8361 href="/" 8362 8363 class="mega-menu__link mega-menu__link--parent" 8364 > 8365 8366 <span 8367 class="mega-menu__link-title wrap-text" 8368 >Lorem Ipsum</span> 8369 </a> 8370 8371 <ul 8372 class="list-unstyled" 8373 style="column-count: 1;" 8374 > 8375 8376 <li 8377 class="mega-menu__link--child" 8378 > 8379 <a 8380 href="/collections/cuccio" 8381 class="mega-menu__link" 8382 > 8383 <span class="mega-menu__link-title wrap-text">CUCCIO</span> 8384 </a> 8385 </li> 8386 8387 <li 8388 class="mega-menu__link--child" 8389 > 8390 <a 8391 href="/collections/daisy" 8392 class="mega-menu__link" 8393 > 8394 <span class="mega-menu__link-title wrap-text">DAISY</span> 8395 </a> 8396 </li> 8397 8398 <li 8399 class="mega-menu__link--child" 8400 > 8401 <a 8402 href="/collections/derma-v10" 8403 class="mega-menu__link" 8404 > 8405 <span class="mega-menu__link-title wrap-text">DERMA V10</span> 8406 </a> 8407 </li> 8408 8409 <li 8410 class="mega-menu__link--child" 8411 > 8412 <a 8413 href="/collections/dermert" 8414 class="mega-menu__link" 8415 > 8416 <span class="mega-menu__link-title wrap-text">DERMERT</span> 8417 </a> 8418 </li> 8419 8420 <li 8421 class="mega-menu__link--child" 8422 > 8423 <a 8424 href="/collections/dnd-dc" 8425 class="mega-menu__link" 8426 > 8427 <span class="mega-menu__link-title wrap-text">DND DC</span> 8428 </a> 8429 </li> 8430 8431 <li 8432 class="mega-menu__link--child" 8433 > 8434 <a 8435 href="/collections/emi" 8436 class="mega-menu__link" 8437 > 8438 <span class="mega-menu__link-title wrap-text">EMI</span> 8439 </a> 8440 </li> 8441 8442 <li 8443 class="mega-menu__link--child" 8444 > 8445 <a 8446 href="/collections/entity" 8447 class="mega-menu__link" 8448 > 8449 <span class="mega-menu__link-title wrap-text">ENTITY</span> 8450 </a> 8451 </li> 8452 8453 <li 8454 class="mega-menu__link--child" 8455 > 8456 <a 8457 href="/collections/ezflow" 8458 class="mega-menu__link" 8459 > 8460 <span class="mega-menu__link-title wrap-text">EZFLOW</span> 8461 </a> 8462 </li> 8463 8464 <li 8465 class="mega-menu__link--child" 8466 > 8467 <a 8468 href="/collections/gelish" 8469 class="mega-menu__link" 8470 >
8471 <span class="mega-menu__link-title wrap-text">GELISH</span> 8472 </a> 8473 </li> 8474 8475 <li 8476 class="mega-menu__link--child" 8477 > 8478 <a 8479 href="/collections/glam-glits" 8480 class="mega-menu__link" 8481 > 8482 <span class="mega-menu__link-title wrap-text">GLAM & GLITS</span> 8483 </a> 8484 </li> 8485 8486 <li 8487 class="mega-menu__link--child" 8488 > 8489 <a 8490 href="/collections/glamlac" 8491 class="mega-menu__link" 8492 > 8493 <span class="mega-menu__link-title wrap-text">GLAMLAC</span> 8494 </a> 8495 </li> 8496 8497 <li 8498 class="mega-menu__link--child" 8499 > 8500 <a 8501 href="/collections/glamlash" 8502 class="mega-menu__link" 8503 > 8504 <span class="mega-menu__link-title wrap-text">GLAMLASH</span> 8505 </a> 8506 </li> 8507 8508 <li 8509 class="mega-menu__link--child" 8510 > 8511 <a 8512 href="/collections/glamlashes" 8513 class="mega-menu__link" 8514 > 8515 <span class="mega-menu__link-title wrap-text">GLAMLASHES</span> 8516 </a> 8517 </li> 8518 8519 <li 8520 class="mega-menu__link--child" 8521 > 8522 <a 8523 href="/collections/halo" 8524 class="mega-menu__link" 8525 > 8526 <span class="mega-menu__link-title wrap-text">HALO</span> 8527 </a> 8528 </li> 8529 8530 <li 8531 class="mega-menu__link--child" 8532 > 8533 <a 8534 href="/collections/hong-kong-girl" 8535 class="mega-menu__link" 8536 > 8537 <span class="mega-menu__link-title wrap-text">HONG KONG GIRL</span> 8538 </a> 8539 </li> 8540 8541 <li 8542 class="mega-menu__link--child" 8543 > 8544 <a 8545 href="/collections/ibd" 8546 class="mega-menu__link" 8547 > 8548 <span class="mega-menu__link-title wrap-text">IBD</span> 8549 </a> 8550 </li> 8551 8552 <li 8553 class="mega-menu__link--child" 8554 > 8555 <a 8556 href="/collections/icon" 8557 class="mega-menu__link" 8558 > 8559 <span class="mega-menu__link-title wrap-text">ICON</span> 8560 </a> 8561 </li> 8562 8563 </ul> 8564 8565 </div> 8566 8567 </li> 8568 8569 <li class="mega-menu__column mega-menu__column--span-2 mega-menu__column--hide-title"> 8570 <div> 8571 <a 8572 8573 href="/" 8574 8575 class="mega-menu__link mega-menu__link--parent" 8576 > 8577 8578 <span 8579 class="mega-menu__link-title wrap-text" 8580 >Lorem Ipsum</span> 8581 </a> 8582 8583 <ul 8584 class="list-unstyled" 8585 style="column-count: 1;" 8586 > 8587 8588 <li 8589 class="mega-menu__link--child" 8590 > 8591 <a 8592 href="/collections/infalab" 8593 class="mega-menu__link" 8594 > 8595 <span class="mega-menu__link-title wrap-text">INFALAB</span> 8596 </a> 8597 </li> 8598 8599 <li 8600 class="mega-menu__link--child" 8601 > 8602 <a 8603 href="/collections/jet" 8604 class="mega-menu__link" 8605 > 8606 <span class="mega-menu__link-title wrap-text">JET</span> 8607 </a> 8608 </li> 8609 8610 <li 8611 class="mega-menu__link--child" 8612 > 8613 <a 8614 href="/collections/jinhong" 8615 class="mega-menu__link" 8616 > 8617 <span class="mega-menu__link-title wrap-text">JINHONG</span> 8618 </a> 8619 </li> 8620 8621 <li 8622 class="mega-menu__link--child" 8623 > 8624 <a 8625 href="/collections/kds" 8626 class="mega-menu__link" 8627 >
8628 <span class="mega-menu__link-title wrap-text">KDS</span> 8629 </a> 8630 </li> 8631 8632 <li 8633 class="mega-menu__link--child" 8634 > 8635 <a 8636 href="/collections/keli" 8637 class="mega-menu__link" 8638 > 8639 <span class="mega-menu__link-title wrap-text">KELI</span> 8640 </a> 8641 </li> 8642 8643 <li 8644 class="mega-menu__link--child" 8645 > 8646 <a 8647 href="/collections/kiara-sky" 8648 class="mega-menu__link" 8649 > 8650 <span class="mega-menu__link-title wrap-text">KIARA SKY</span> 8651 </a> 8652 </li> 8653 8654 <li 8655 class="mega-menu__link--child" 8656 > 8657 <a 8658 href="/collections/kiehl" 8659 class="mega-menu__link" 8660 > 8661 <span class="mega-menu__link-title wrap-text">KIEHL</span> 8662 </a> 8663 </li> 8664 8665 <li 8666 class="mega-menu__link--child" 8667 > 8668 <a 8669 href="/collections/kupa" 8670 class="mega-menu__link" 8671 > 8672 <span class="mega-menu__link-title wrap-text">KUPA</span> 8673 </a> 8674 </li> 8675 8676 <li 8677 class="mega-menu__link--child" 8678 > 8679 <a 8680 href="/collections/lamour" 8681 class="mega-menu__link" 8682 > 8683 <span class="mega-menu__link-title wrap-text">LAMOUR</span> 8684 </a> 8685 </li> 8686 8687 <li 8688 class="mega-menu__link--child" 8689 > 8690 <a 8691 href="/collections/lazy-fun" 8692 class="mega-menu__link" 8693 > 8694 <span class="mega-menu__link-title wrap-text">LAZY FUN</span> 8695 </a> 8696 </li> 8697 8698 <li 8699 class="mega-menu__link--child" 8700 > 8701 <a 8702 href="/collections/lion" 8703 class="mega-menu__link" 8704 > 8705 <span class="mega-menu__link-title wrap-text">LION</span> 8706 </a> 8707 </li> 8708 8709 <li 8710 class="mega-menu__link--child" 8711 > 8712 <a 8713 href="/collections/lorossi" 8714 class="mega-menu__link" 8715 > 8716 <span class="mega-menu__link-title wrap-text">LOROSSI</span> 8717 </a> 8718 </li> 8719 8720 <li 8721 class="mega-menu__link--child" 8722 > 8723 <a 8724 href="/collections/mae" 8725 class="mega-menu__link" 8726 > 8727 <span class="mega-menu__link-title wrap-text">MAE</span> 8728 </a> 8729 </li> 8730 8731 <li 8732 class="mega-menu__link--child" 8733 > 8734 <a 8735 href="/collections/medicool" 8736 class="mega-menu__link" 8737 > 8738 <span class="mega-menu__link-title wrap-text">MEDICOOL</span> 8739 </a> 8740 </li> 8741 8742 <li 8743 class="mega-menu__link--child" 8744 > 8745 <a 8746 href="/collections/mei-na-si" 8747 class="mega-menu__link" 8748 > 8749 <span class="mega-menu__link-title wrap-text">MEI NA SI</span> 8750 </a> 8751 </li> 8752 8753 <li 8754 class="mega-menu__link--child" 8755 > 8756 <a 8757 href="/collections/micra" 8758 class="mega-menu__link" 8759 > 8760 <span class="mega-menu__link-title wrap-text">MICRA</span> 8761 </a> 8762 </li> 8763 8764 <li 8765 class="mega-menu__link--child" 8766 > 8767 <a 8768 href="/collections/moding" 8769 class="mega-menu__link" 8770 > 8771 <span class="mega-menu__link-title wrap-text">MODING</span> 8772 </a> 8773 </li> 8774 8775 </ul> 8776 8777 </div> 8778 8779 </li> 8780 8781 <li class="mega-menu__column mega-menu__column--span-2 mega-menu__column--hide-title"> 8782 <div> 8783 <a 8784 8785 href="/" 8786 8787 class="mega-menu__link mega-menu__link--parent" 8788 > 8789
8790 <span 8791 class="mega-menu__link-title wrap-text" 8792 >Lorem Ipsum</span> 8793 </a> 8794 8795 <ul 8796 class="list-unstyled" 8797 style="column-count: 1;" 8798 > 8799 8800 <li 8801 class="mega-menu__link--child" 8802 > 8803 <a 8804 href="/collections/morgan-taylor" 8805 class="mega-menu__link" 8806 > 8807 <span class="mega-menu__link-title wrap-text">MORGAN TAYLOR</span> 8808 </a> 8809 </li> 8810 8811 <li 8812 class="mega-menu__link--child" 8813 > 8814 <a 8815 href="/collections/nail-artists" 8816 class="mega-menu__link" 8817 > 8818 <span class="mega-menu__link-title wrap-text">NAIL ARTISTS</span> 8819 </a> 8820 </li> 8821 8822 <li 8823 class="mega-menu__link--child" 8824 > 8825 <a 8826 href="/collections/nailpro" 8827 class="mega-menu__link" 8828 > 8829 <span class="mega-menu__link-title wrap-text">NAILPRO</span> 8830 </a> 8831 </li> 8832 8833 <li 8834 class="mega-menu__link--child" 8835 > 8836 <a 8837 href="/collections/nghia" 8838 class="mega-menu__link" 8839 > 8840 <span class="mega-menu__link-title wrap-text">NGHIA</span> 8841 </a> 8842 </li> 8843 8844 <li 8845 class="mega-menu__link--child" 8846 > 8847 <a 8848 href="/collections/nola" 8849 class="mega-menu__link" 8850 > 8851 <span class="mega-menu__link-title wrap-text">NOLA</span> 8852 </a> 8853 </li> 8854 8855 <li 8856 class="mega-menu__link--child" 8857 > 8858 <a 8859 href="/collections/nps" 8860 class="mega-menu__link" 8861 > 8862 <span class="mega-menu__link-title wrap-text">NPS</span> 8863 </a> 8864 </li> 8865 8866 <li 8867 class="mega-menu__link--child" 8868 > 8869 <a 8870 href="/collections/ns-101" 8871 class="mega-menu__link" 8872 > 8873 <span class="mega-menu__link-title wrap-text">NS-101</span> 8874 </a> 8875 </li> 8876 8877 <li 8878 class="mega-menu__link--child" 8879 > 8880 <a 8881 href="/collections/nsi" 8882 class="mega-menu__link" 8883 > 8884 <span class="mega-menu__link-title wrap-text">NSI</span> 8885 </a> 8886 </li> 8887 8888 <li 8889 class="mega-menu__link--child" 8890 > 8891 <a 8892 href="/collections/opi" 8893 class="mega-menu__link" 8894 > 8895 <span class="mega-menu__link-title wrap-text">OPI</span> 8896 </a> 8897 </li> 8898 8899 <li 8900 class="mega-menu__link--child" 8901 > 8902 <a 8903 href="/collections/orly" 8904 class="mega-menu__link" 8905 > 8906 <span class="mega-menu__link-title wrap-text">ORLY</span> 8907 </a> 8908 </li> 8909 8910 <li 8911 class="mega-menu__link--child" 8912 > 8913 <a 8914 href="/collections/qtica" 8915 class="mega-menu__link" 8916 > 8917 <span class="mega-menu__link-title wrap-text">QTICA</span> 8918 </a> 8919 </li> 8920 8921 <li 8922 class="mega-menu__link--child" 8923 > 8924 <a 8925 href="/collections/refectocil" 8926 class="mega-menu__link" 8927 > 8928 <span class="mega-menu__link-title wrap-text">REFECTOCIL</span> 8929 </a> 8930 </li> 8931 8932 <li 8933 class="mega-menu__link--child" 8934 > 8935 <a 8936 href="/collections/rococo" 8937 class="mega-menu__link" 8938 >
8939 <span class="mega-menu__link-title wrap-text">ROCOCO</span> 8940 </a> 8941 </li> 8942 8943 <li 8944 class="mega-menu__link--child" 8945 > 8946 <a 8947 href="/collections/saeyang" 8948 class="mega-menu__link" 8949 > 8950 <span class="mega-menu__link-title wrap-text">SAEYANG</span> 8951 </a> 8952 </li> 8953 8954 <li 8955 class="mega-menu__link--child" 8956 > 8957 <a 8958 href="/collections/salon-system" 8959 class="mega-menu__link" 8960 > 8961 <span class="mega-menu__link-title wrap-text">SALON SYSTEM</span> 8962 </a> 8963 </li> 8964 8965 <li 8966 class="mega-menu__link--child" 8967 > 8968 <a 8969 href="/collections/seche" 8970 class="mega-menu__link" 8971 > 8972 <span class="mega-menu__link-title wrap-text">SECHE</span> 8973 </a> 8974 </li> 8975 8976 <li 8977 class="mega-menu__link--child" 8978 > 8979 <a 8980 href="/collections/seiko" 8981 class="mega-menu__link" 8982 > 8983 <span class="mega-menu__link-title wrap-text">SEIKO</span> 8984 </a> 8985 </li> 8986 8987 </ul> 8988 8989 </div> 8990 8991 </li> 8992 8993 <li class="mega-menu__column mega-menu__column--span-2 mega-menu__column--hide-title"> 8994 <div> 8995 <a 8996 8997 href="/" 8998 8999 class="mega-menu__link mega-menu__link--parent" 9000 > 9001 9002 <span 9003 class="mega-menu__link-title wrap-text" 9004 >Lorem Ipsum</span> 9005 </a> 9006 9007 <ul 9008 class="list-unstyled" 9009 style="column-count: 1;" 9010 > 9011 9012 <li 9013 class="mega-menu__link--child" 9014 > 9015 <a 9016 href="/collections/simply" 9017 class="mega-menu__link" 9018 > 9019 <span class="mega-menu__link-title wrap-text">SIMPLY</span> 9020 </a> 9021 </li> 9022 9023 <li 9024 class="mega-menu__link--child" 9025 > 9026 <a 9027 href="/collections/sleep-in-rollers" 9028 class="mega-menu__link" 9029 > 9030 <span class="mega-menu__link-title wrap-text">SLEEP IN ROLLERS</span> 9031 </a> 9032 </li> 9033 9034 <li 9035 class="mega-menu__link--child" 9036 > 9037 <a 9038 href="/collections/startool" 9039 class="mega-menu__link" 9040 > 9041 <span class="mega-menu__link-title wrap-text">STARTOOL</span> 9042 </a> 9043 </li> 9044 9045 <li 9046 class="mega-menu__link--child" 9047 > 9048 <a 9049 href="/collections/strictly-professional" 9050 class="mega-menu__link" 9051 > 9052 <span class="mega-menu__link-title wrap-text">STRICTLY PROFESSIONAL</span> 9053 </a> 9054 </li> 9055 9056 <li 9057 class="mega-menu__link--child" 9058 > 9059 <a 9060 href="/collections/supernail" 9061 class="mega-menu__link" 9062 > 9063 <span class="mega-menu__link-title wrap-text">SUPERNAIL</span> 9064 </a> 9065 </li> 9066 9067 <li 9068 class="mega-menu__link--child" 9069 > 9070 <a 9071 href="/collections/swarovski" 9072 class="mega-menu__link" 9073 > 9074 <span class="mega-menu__link-title wrap-text">SWAROVSKI</span> 9075 </a> 9076 </li> 9077 9078 <li 9079 class="mega-menu__link--child" 9080 > 9081 <a 9082 href="/collections/titania" 9083 class="mega-menu__link" 9084 > 9085 <span class="mega-menu__link-title wrap-text">TITANIA</span> 9086 </a> 9087 </li> 9088 9089 <li 9090 class="mega-menu__link--child" 9091 > 9092 <a 9093 href="/collections/tnbl" 9094 class="mega-menu__link" 9095 >
9096 <span class="mega-menu__link-title wrap-text">TNBL</span> 9097 </a> 9098 </li> 9099 9100 <li 9101 class="mega-menu__link--child" 9102 > 9103 <a 9104 href="/collections/upower" 9105 class="mega-menu__link" 9106 > 9107 <span class="mega-menu__link-title wrap-text">UPOWER</span> 9108 </a> 9109 </li> 9110 9111 <li 9112 class="mega-menu__link--child" 9113 > 9114 <a 9115 href="/collections/varisi" 9116 class="mega-menu__link" 9117 > 9118 <span class="mega-menu__link-title wrap-text">VARISI</span> 9119 </a> 9120 </li> 9121 9122 <li 9123 class="mega-menu__link--child" 9124 > 9125 <a 9126 href="/collections/veniiz" 9127 class="mega-menu__link" 9128 > 9129 <span class="mega-menu__link-title wrap-text">VENIIZ</span> 9130 </a> 9131 </li> 9132 9133 <li 9134 class="mega-menu__link--child" 9135 > 9136 <a 9137 href="/collections/vina" 9138 class="mega-menu__link" 9139 > 9140 <span class="mega-menu__link-title wrap-text">VINA</span> 9141 </a> 9142 </li> 9143 9144 <li 9145 class="mega-menu__link--child" 9146 > 9147 <a 9148 href="/collections/vins" 9149 class="mega-menu__link" 9150 > 9151 <span class="mega-menu__link-title wrap-text">VINS</span> 9152 </a> 9153 </li> 9154 9155 <li 9156 class="mega-menu__link--child" 9157 > 9158 <a 9159 href="/collections/voesh" 9160 class="mega-menu__link" 9161 > 9162 <span class="mega-menu__link-title wrap-text">VOESH</span> 9163 </a> 9164 </li> 9165 9166 <li 9167 class="mega-menu__link--child" 9168 > 9169 <a 9170 href="/collections/willow" 9171 class="mega-menu__link" 9172 > 9173 <span class="mega-menu__link-title wrap-text">WILLOW</span> 9174 </a> 9175 </li> 9176 9177 <li 9178 class="mega-menu__link--child" 9179 > 9180 <a 9181 href="/collections/wonder-gel" 9182 class="mega-menu__link" 9183 > 9184 <span class="mega-menu__link-title wrap-text">WONDER GEL</span> 9185 </a> 9186 </li> 9187 9188 <li 9189 class="mega-menu__link--child" 9190 > 9191 <a 9192 href="/collections/yoyo" 9193 class="mega-menu__link" 9194 > 9195 <span class="mega-menu__link-title wrap-text">YOYO</span> 9196 </a> 9197 </li> 9198 9199 </ul> 9200 9201 </div> 9202 9203 </li> 9204 9205 9206</ul> 9207 9208 9209 9210<style data-shopify> 9211 [data-menu-grid-id="MegaMenuList-7"] { 9212 9213 --menu-columns-desktop: 12; 9214 --menu-columns-tablet: 11; 9215 9216 } 9217 9218 [data-menu-list-id="MegaMenuList-7"] { 9219 9220 --menu-columns-desktop: 10; 9221 --menu-columns-tablet: 10; 9222 9223 } 9224</style> 9225 9226 9227 9228 9229 9230 <span 9231 class="mega-menu__content" 9232 style="--menu-content-columns-desktop: 1; --menu-content-columns-tablet: 1; --resource-card-corner-radius: 12px;" 9233 > 9234 <ul 9235 class="mega-menu__content-list mega-menu__content-list--promos list-unstyled" 9236 > 9237 9238 9239 9240 </ul> 9241 </span> 9242 9243 9244 </div> 9245 </div> 9246 </div> 9247 </div></li> 9248 9249 <li 9250 role="presentation" 9251 class="menu-list__list-item" 9252 on:focus="/activate" 9253 on:blur="/deactivate" 9254 on:pointerenter="/activate" 9255 on:pointerleave="/deactivate" 9256 > 9257 <a 9258 href="/collections/tnbl-sale" 9259 data-skip-node-update="true" 9260 class="menu-list__link"ref="menuitem" 9261 >
9262 <span class="menu-list__link-title">Sale</span> 9263 </a></li> 9264 9265 <li 9266 class="menu-list__list-item" 9267 role="presentation" 9268 slot="more" 9269 on:focus="/activate" 9270 on:blur="/deactivate" 9271 on:pointerenter="/activate" 9272 on:pointerleave="/deactivate" 9273 > 9274 <button role="menuitem" class="button menu-list__link button-unstyled"> 9275 <span class="menu-list__link-title">More</span> 9276 </button> 9277 </li> 9278 9279</overflow-list> 9280 9281 </div> 9282 </nav> 9283 </div> 9284 9285
9285<script 9286 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/header-menu.js?v=32392277473258403531774530326" 9287 type="module" 9288 fetchpriority="low" 9289 ></script>
9289 9290 </header-menu> 9291 9292 9293 9294 9295 9296 9297 9298 9299 9300 </div><div 9301 class="header__column header__column--right" 9302 data-testid="header-top-right" 9303 > 9304 9305 9306 9307 9308 9309 9310 9311 9312 9313 9314 9315 9316 9317 <search-button class="search-action mobile:hidden"> 9318 <button 9319 on:click="#search-modal/showDialog" 9320 class="button button-unstyled search-modal__button header-actions__action" 9321 aria-label="Search" 9322 aria-haspopup="dialog" 9323 > 9324 <span 9325 aria-hidden="true" 9326 class="svg-wrapper" 9327 > 9328 <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 9329<path d="M19.1361 20L11.4929 12.3568C10.8825 12.8764 10.1807 13.2786 9.38723 13.5634C8.59379 13.8483 7.79649 13.9907 6.99533 13.9907C5.04023 13.9907 3.38552 13.3139 2.03119 11.9604C0.677063 10.6069 0 8.95318 0 6.9993C0 5.04522 0.676758 3.39009 2.03027 2.03393C3.38379 0.677977 5.03748 0 6.99136 0C8.94545 0 10.6006 0.677063 11.9567 2.03119C13.3127 3.38552 13.9907 5.04023 13.9907 6.99533C13.9907 7.84349 13.8404 8.66429 13.5399 9.45772C13.2394 10.2512 12.8451 10.9295 12.3568 11.4929L20 19.1364L19.1361 20ZM6.99533 12.77C8.61495 12.77 9.9823 12.2125 11.0974 11.0974C12.2125 9.9825 12.77 8.61515 12.77 6.99533C12.77 5.37551 12.2125 4.00816 11.0974 2.89328C9.9823 1.7782 8.61495 1.22067 6.99533 1.22067C5.37551 1.22067 4.00816 1.7782 2.89328 2.89328C1.7782 4.00816 1.22067 5.37551 1.22067 6.99533C1.22067 8.61515 1.7782 9.9825 2.89328 11.0974C4.00816 12.2125 5.37551 12.77 6.99533 12.77Z" fill="#111111"/> 9330</svg> 9331 9332 </span> 9333 </button> 9334 </search-button> 9335 9336 9337 9338 9339 9340 9341 9342 9343 9344
9344<script 9345 type="module" 9346 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/cart-icon.js?v=157241182139685326961774530324" 9347 fetchpriority="low" 9348></script>
9348 9349 9350 9351 9352<header-actions> 9353 <button 9354 class="st-wishlist-details-button st-wishlist-details-button--header-icon header-actions__action" 9355 data-type="manually" 9356 title="Open Wishlist Details" 9357 aria-label="Open Wishlist Details" 9358 > 9359 <span 9360 class="svg-wrapper st-wishlist-icon" 9361 aria-hidden="true" 9362 > 9363 <svg width="22" height="20" viewBox="0 0 22 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 9364<path d="M11 20L10.0739 19.1446C8.0792 17.2813 6.42919 15.6863 5.12386 14.3598C3.81873 13.033 2.7885 11.8629 2.03317 10.8496C1.27783 9.83634 0.750139 8.91947 0.450083 8.09904C0.150028 7.27881 0 6.4537 0 5.62368C0 4.03426 0.528102 2.69968 1.58431 1.61993C2.64031 0.539977 3.94554 0 5.5 0C6.57494 0 7.58328 0.281184 8.525 0.843552C9.46672 1.40592 10.2917 2.22385 11 3.29735C11.7083 2.22385 12.5333 1.40592 13.475 0.843552C14.4167 0.281184 15.4251 0 16.5 0C18.0545 0 19.3597 0.539977 20.4157 1.61993C21.4719 2.69968 22 4.03426 22 5.62368C22 6.4537 21.85 7.27881 21.5499 8.09904C21.2499 8.91947 20.7222 9.83634 19.9668 10.8496C19.2115 11.8629 18.1851 13.033 16.8878 14.3598C15.5904 15.6863 13.9365 17.2813 11.9261 19.1446L11 20ZM11 18.3082C12.9556 16.5009 14.5648 14.9528 15.8278 13.664C17.0907 12.3749 18.0889 11.2565 18.8222 10.3088C19.5556 9.36114 20.0648 8.52165 20.35 7.79036C20.6352 7.05887 20.7778 6.33664 20.7778 5.62368C20.7778 4.37397 20.3704 3.33255 19.5556 2.49941C18.7407 1.66628 17.7222 1.24971 16.5 1.24971C15.5269 1.24971 14.6291 1.5337 13.8065 2.1017C12.9838 2.66969 12.2473 3.5248 11.5971 4.66703H10.4029C9.73704 3.50876 8.99668 2.64959 8.18186 2.08951C7.36705 1.52964 6.47309 1.24971 5.5 1.24971C4.29346 1.24971 3.27882 1.66628 2.45606 2.49941C1.6335 3.33255 1.22222 4.37397 1.22222 5.62368C1.22222 6.33664 1.36481 7.05887 1.65 7.79036C1.93519 8.52165 2.44444 9.36114 3.17778 10.3088C3.91111 11.2565 4.90926 12.3708 6.17222 13.6518C7.43518 14.9327 9.04444 16.4849 11 18.3082Z" fill="#111111"/> 9365</svg> 9366 9367 </span> 9368 </button> 9369 9370 9371
9371<script 9372 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/dialog.js?v=61774032287387761671774530324" 9373 type="module" 9374 ></script>
9374 9375 9376 <anchored-popover-component 9377 data-close-on-resize="true" 9378 class="account-popover mobile:hidden" 9379 > 9380 <button 9381 class="account-button header-actions__action" 9382 aria-label="Account" 9383 aria-haspopup="dialog"popovertarget="account-popover" 9384 popovertargetaction="toggle"ref="trigger" 9385 9386><span 9387 class="account-button__icon" 9388 aria-hidden="true" 9389 ><svg width="21" height="20" viewBox="0 0 21 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 9390<path d="M10.5 9.06961C9.2625 9.06961 8.20312 8.62558 7.32188 7.73751C6.44063 6.84944 6 5.78188 6 4.5348C6 3.28773 6.44063 2.22016 7.32188 1.3321C8.20312 0.444033 9.2625 0 10.5 0C11.7375 0 12.7969 0.444033 13.6781 1.3321C14.5594 2.22016 15 3.28773 15 4.5348C15 5.78188 14.5594 6.84944 13.6781 7.73751C12.7969 8.62558 11.7375 9.06961 10.5 9.06961ZM0 20V17.5115C0 16.8875 0.18025 16.3036 0.54075 15.76C0.9015 15.2165 1.38662 14.7945 1.99612 14.494C3.41162 13.81 4.828 13.2969 6.24525 12.9548C7.6625 12.6129 9.08075 12.442 10.5 12.442C11.9193 12.442 13.3375 12.6129 14.7548 12.9548C16.172 13.2969 17.5884 13.81 19.0039 14.494C19.6134 14.7945 20.0985 15.2165 20.4593 15.76C20.8198 16.3036 21 16.8875 21 17.5115V20H0ZM1.5 18.4884H19.5V17.5115C19.5 17.1762 19.3927 16.8613 19.1782 16.5668C18.964 16.2723 18.6674 16.0232 18.2884 15.8197C17.0539 15.217 15.781 14.7554 14.4698 14.4347C13.1585 14.1139 11.8353 13.9536 10.5 13.9536C9.16475 13.9536 7.8415 14.1139 6.53025 14.4347C5.219 14.7554 3.94613 15.217 2.71163 15.8197C2.33262 16.0232 2.036 16.2723 1.82175 16.5668C1.60725 16.8613 1.5 17.1762 1.5 17.5115V18.4884ZM10.5 7.55801C11.325 7.55801 12.0312 7.26199 12.6188 6.66994C13.2063 6.0779 13.5 5.36619 13.5 4.5348C13.5 3.70342 13.2063 2.99171 12.6188 2.39967C12.0312 1.80762 11.325 1.5116 10.5 1.5116C9.675 1.5116 8.96875 1.80762 8.38125 2.39967C7.79375 2.99171 7.5 3.70342 7.5 4.5348C7.5 5.36619 7.79375 6.0779 8.38125 6.66994C8.96875 7.26199 9.675 7.55801 10.5 7.55801Z" fill="#111111"/> 9391</svg> 9392</span></button> 9393 9394 9395 9396 <div 9397 class="account-popover__panel details-content color-scheme-1" 9398 id="account-popover" 9399 popover="auto" 9400 ref="popover" 9401 > 9402 <div class="account-actions"> 9403 <div class="account-actions__main-menu"> 9404 <header class="account-actions__header"> 9405 <h2 9406 id="account-drawer-heading" 9407 class="account-actions__title h5" 9408 > 9409 9410 Account 9411 9412 </h2> 9413 9414 </header> 9415 9416 9417 <div 9418 class="account-actions__sign-ins" 9419 data-skip-subtree-update="true" 9420 > 9421
9421<script 9422 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/account-login-actions.js?v=132624473766457443991774530324" 9423 type="module" 9424 fetchpriority="low" 9425 ></script>
9425 9426 <account-login-actions class="account-actions__shop-login"> 9427
9427<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.shop-login-button.en.esm.js"></script>
vendor: 1 bytes, line 9427
9427
9428<script type="module"> 9429 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.shop-login-button.en.esm.js"); 9430 9431 9432</script>
9432 9433 9434<shop-login-button ux-mode="windoid" return-uri="https://www.tnbl.co.uk/account/redirect" proxy="true" proxy-core-idp="true" redirect-type="iframe" response-type="code"></shop-login-button> 9435 9436 </account-login-actions> 9437 9438 <a 9439 href="/customer_authentication/login?return_to=%2Fproducts%2Fapres-nova-led-lamp-mini%3F_pos%3D2%26_psq%3Dnova%26_psid%3D4f35e873a%26_ss%3De&locale=en&ui_hint=full®ion_country=GB" 9440 class="account-actions__link button" 9441 > 9442 <span class="account-actions__sign-in-text"> 9443 Other sign in options 9444 </span> 9445 <span class="account-actions__fallback-text"> 9446 Sign in 9447 </span> 9448 </a> 9449 </div> 9450 9451 9452 <nav class="account-actions__nav"> 9453 <ul class="account-actions__list"> 9454 <li class="account-actions__list-item"> 9455 <a 9456 href="/account" 9457 class="account-actions__link button-secondary" 9458 > 9459 <span 9460 class="account-actions__icon" 9461 aria-hidden="true" 9462 ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"> 9463 <path stroke-linecap="round" stroke="currentColor" stroke-width="var(--icon-stroke-width)" d="M2.929 7.705c0-.482.154-.95.44-1.338L5.06 4.08c.303-.41.783-.652 1.293-.652h7.42c.525 0 1.018.257 1.319.69l1.577 2.266c.262.377.403.826.403 1.285v8.294c0 .888-.72 1.608-1.608 1.608H4.536c-.888 0-1.607-.72-1.607-1.608V7.705Z"/> 9464 <path stroke="currentColor" stroke-width="var(--icon-stroke-width)" d="M2.929 6.965h14.143M10 3.428v3.535M6.143 14.035v-2.571c0-.178.143-.321.321-.321h3.857c.178 0 .322.143.322.321v2.571a.321.321 0 0 1-.322.322H6.464a.321.321 0 0 1-.321-.322Z"/> 9465</svg> 9466</span> 9467 Orders 9468 </a> 9469 </li> 9470 <li class="account-actions__list-item"> 9471 <a 9472 href="/account/addresses" 9473 class="account-actions__link button-secondary" 9474 > 9475 <span 9476 class="account-actions__icon" 9477 aria-hidden="true" 9478 ><svg width="21" height="20" viewBox="0 0 21 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 9479<path d="M10.5 9.06961C9.2625 9.06961 8.20312 8.62558 7.32188 7.73751C6.44063 6.84944 6 5.78188 6 4.5348C6 3.28773 6.44063 2.22016 7.32188 1.3321C8.20312 0.444033 9.2625 0 10.5 0C11.7375 0 12.7969 0.444033 13.6781 1.3321C14.5594 2.22016 15 3.28773 15 4.5348C15 5.78188 14.5594 6.84944 13.6781 7.73751C12.7969 8.62558 11.7375 9.06961 10.5 9.06961ZM0 20V17.5115C0 16.8875 0.18025 16.3036 0.54075 15.76C0.9015 15.2165 1.38662 14.7945 1.99612 14.494C3.41162 13.81 4.828 13.2969 6.24525 12.9548C7.6625 12.6129 9.08075 12.442 10.5 12.442C11.9193 12.442 13.3375 12.6129 14.7548 12.9548C16.172 13.2969 17.5884 13.81 19.0039 14.494C19.6134 14.7945 20.0985 15.2165 20.4593 15.76C20.8198 16.3036 21 16.8875 21 17.5115V20H0ZM1.5 18.4884H19.5V17.5115C19.5 17.1762 19.3927 16.8613 19.1782 16.5668C18.964 16.2723 18.6674 16.0232 18.2884 15.8197C17.0539 15.217 15.781 14.7554 14.4698 14.4347C13.1585 14.1139 11.8353 13.9536 10.5 13.9536C9.16475 13.9536 7.8415 14.1139 6.53025 14.4347C5.219 14.7554 3.94613 15.217 2.71163 15.8197C2.33262 16.0232 2.036 16.2723 1.82175 16.5668C1.60725 16.8613 1.5 17.1762 1.5 17.5115V18.4884ZM10.5 7.55801C11.325 7.55801 12.0312 7.26199 12.6188 6.66994C13.2063 6.0779 13.5 5.36619 13.5 4.5348C13.5 3.70342 13.2063 2.99171 12.6188 2.39967C12.0312 1.80762 11.325 1.5116 10.5 1.5116C9.675 1.5116 8.96875 1.80762 8.38125 2.39967C7.79375 2.99171 7.5 3.70342 7.5 4.5348C7.5 5.36619 7.79375 6.0779 8.38125 6.66994C8.96875 7.26199 9.675 7.55801 10.5 7.55801Z" fill="#111111"/> 9480</svg> 9481</span> 9482 Profile 9483 </a> 9484 </li> 9485 </ul> 9486 </nav> 9487 </div> 9488</div> 9489 9490 9491 9492 </div> 9493 </anchored-popover-component> 9494 9495 <dialog-component 9496 class="account-drawer" 9497 9498 > 9499 <button 9500 class="account-button header-actions__action" 9501 aria-label="Account" 9502 aria-haspopup="dialog"ref="trigger"
9503 on:click="/showDialog" 9504><span 9505 class="account-button__icon" 9506 aria-hidden="true" 9507 ><svg width="21" height="20" viewBox="0 0 21 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 9508<path d="M10.5 9.06961C9.2625 9.06961 8.20312 8.62558 7.32188 7.73751C6.44063 6.84944 6 5.78188 6 4.5348C6 3.28773 6.44063 2.22016 7.32188 1.3321C8.20312 0.444033 9.2625 0 10.5 0C11.7375 0 12.7969 0.444033 13.6781 1.3321C14.5594 2.22016 15 3.28773 15 4.5348C15 5.78188 14.5594 6.84944 13.6781 7.73751C12.7969 8.62558 11.7375 9.06961 10.5 9.06961ZM0 20V17.5115C0 16.8875 0.18025 16.3036 0.54075 15.76C0.9015 15.2165 1.38662 14.7945 1.99612 14.494C3.41162 13.81 4.828 13.2969 6.24525 12.9548C7.6625 12.6129 9.08075 12.442 10.5 12.442C11.9193 12.442 13.3375 12.6129 14.7548 12.9548C16.172 13.2969 17.5884 13.81 19.0039 14.494C19.6134 14.7945 20.0985 15.2165 20.4593 15.76C20.8198 16.3036 21 16.8875 21 17.5115V20H0ZM1.5 18.4884H19.5V17.5115C19.5 17.1762 19.3927 16.8613 19.1782 16.5668C18.964 16.2723 18.6674 16.0232 18.2884 15.8197C17.0539 15.217 15.781 14.7554 14.4698 14.4347C13.1585 14.1139 11.8353 13.9536 10.5 13.9536C9.16475 13.9536 7.8415 14.1139 6.53025 14.4347C5.219 14.7554 3.94613 15.217 2.71163 15.8197C2.33262 16.0232 2.036 16.2723 1.82175 16.5668C1.60725 16.8613 1.5 17.1762 1.5 17.5115V18.4884ZM10.5 7.55801C11.325 7.55801 12.0312 7.26199 12.6188 6.66994C13.2063 6.0779 13.5 5.36619 13.5 4.5348C13.5 3.70342 13.2063 2.99171 12.6188 2.39967C12.0312 1.80762 11.325 1.5116 10.5 1.5116C9.675 1.5116 8.96875 1.80762 8.38125 2.39967C7.79375 2.99171 7.5 3.70342 7.5 4.5348C7.5 5.36619 7.79375 6.0779 8.38125 6.66994C8.96875 7.26199 9.675 7.55801 10.5 7.55801Z" fill="#111111"/> 9509</svg> 9510</span></button> 9511 9512 9513 9514 <dialog 9515 ref="dialog" 9516 class="color-scheme-1 dialog-modal dialog-drawer dialog-bottom-sheet account-drawer__dialog" 9517 scroll-lock 9518 aria-labelledby="account-drawer-heading" 9519 > 9520 <button 9521 ref="closeButton" 9522 on:click="/closeDialog" 9523 class="button button-unstyled close-button account-drawer__close-button" 9524 aria-label="Close dialog" 9525 autofocus 9526 > 9527 <span 9528 class="svg-wrapper" 9529 aria-hidden="true" 9530 ><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 9531 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 9532 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 9533</svg> 9534</span> 9535 </button> 9536 <div class="account-actions"> 9537 <div class="account-actions__main-menu"> 9538 <header class="account-actions__header"> 9539 <h2 9540 id="account-drawer-heading" 9541 class="account-actions__title h5" 9542 > 9543 9544 Account 9545 9546 </h2> 9547 9548 </header> 9549 9550 9551 <div 9552 class="account-actions__sign-ins" 9553 data-skip-subtree-update="true" 9554 > 9555
9555<script 9556 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/account-login-actions.js?v=132624473766457443991774530324" 9557 type="module" 9558 fetchpriority="low" 9559 ></script>
9559 9560 <account-login-actions class="account-actions__shop-login"> 9561
9561<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.shop-login-button.en.esm.js"></script>
vendor: 1 bytes, line 9561
9561
9562<script type="module"> 9563 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.shop-login-button.en.esm.js"); 9564 9565 9566</script>
9566 9567 9568<shop-login-button ux-mode="windoid" return-uri="https://www.tnbl.co.uk/account/redirect" proxy="true" proxy-core-idp="true" redirect-type="iframe" response-type="code"></shop-login-button> 9569 9570 </account-login-actions> 9571 9572 <a 9573 href="/customer_authentication/login?return_to=%2Fproducts%2Fapres-nova-led-lamp-mini%3F_pos%3D2%26_psq%3Dnova%26_psid%3D4f35e873a%26_ss%3De&locale=en&ui_hint=full®ion_country=GB" 9574 class="account-actions__link button" 9575 > 9576 <span class="account-actions__sign-in-text"> 9577 Other sign in options 9578 </span> 9579 <span class="account-actions__fallback-text"> 9580 Sign in 9581 </span> 9582 </a> 9583 </div> 9584 9585 9586 <nav class="account-actions__nav"> 9587 <ul class="account-actions__list"> 9588 <li class="account-actions__list-item"> 9589 <a 9590 href="/account" 9591 class="account-actions__link button-secondary" 9592 > 9593 <span 9594 class="account-actions__icon" 9595 aria-hidden="true" 9596 ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"> 9597 <path stroke-linecap="round" stroke="currentColor" stroke-width="var(--icon-stroke-width)" d="M2.929 7.705c0-.482.154-.95.44-1.338L5.06 4.08c.303-.41.783-.652 1.293-.652h7.42c.525 0 1.018.257 1.319.69l1.577 2.266c.262.377.403.826.403 1.285v8.294c0 .888-.72 1.608-1.608 1.608H4.536c-.888 0-1.607-.72-1.607-1.608V7.705Z"/> 9598 <path stroke="currentColor" stroke-width="var(--icon-stroke-width)" d="M2.929 6.965h14.143M10 3.428v3.535M6.143 14.035v-2.571c0-.178.143-.321.321-.321h3.857c.178 0 .322.143.322.321v2.571a.321.321 0 0 1-.322.322H6.464a.321.321 0 0 1-.321-.322Z"/> 9599</svg> 9600</span> 9601 Orders 9602 </a> 9603 </li> 9604 <li class="account-actions__list-item"> 9605 <a 9606 href="/account/addresses" 9607 class="account-actions__link button-secondary" 9608 > 9609 <span 9610 class="account-actions__icon" 9611 aria-hidden="true" 9612 ><svg width="21" height="20" viewBox="0 0 21 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 9613<path d="M10.5 9.06961C9.2625 9.06961 8.20312 8.62558 7.32188 7.73751C6.44063 6.84944 6 5.78188 6 4.5348C6 3.28773 6.44063 2.22016 7.32188 1.3321C8.20312 0.444033 9.2625 0 10.5 0C11.7375 0 12.7969 0.444033 13.6781 1.3321C14.5594 2.22016 15 3.28773 15 4.5348C15 5.78188 14.5594 6.84944 13.6781 7.73751C12.7969 8.62558 11.7375 9.06961 10.5 9.06961ZM0 20V17.5115C0 16.8875 0.18025 16.3036 0.54075 15.76C0.9015 15.2165 1.38662 14.7945 1.99612 14.494C3.41162 13.81 4.828 13.2969 6.24525 12.9548C7.6625 12.6129 9.08075 12.442 10.5 12.442C11.9193 12.442 13.3375 12.6129 14.7548 12.9548C16.172 13.2969 17.5884 13.81 19.0039 14.494C19.6134 14.7945 20.0985 15.2165 20.4593 15.76C20.8198 16.3036 21 16.8875 21 17.5115V20H0ZM1.5 18.4884H19.5V17.5115C19.5 17.1762 19.3927 16.8613 19.1782 16.5668C18.964 16.2723 18.6674 16.0232 18.2884 15.8197C17.0539 15.217 15.781 14.7554 14.4698 14.4347C13.1585 14.1139 11.8353 13.9536 10.5 13.9536C9.16475 13.9536 7.8415 14.1139 6.53025 14.4347C5.219 14.7554 3.94613 15.217 2.71163 15.8197C2.33262 16.0232 2.036 16.2723 1.82175 16.5668C1.60725 16.8613 1.5 17.1762 1.5 17.5115V18.4884ZM10.5 7.55801C11.325 7.55801 12.0312 7.26199 12.6188 6.66994C13.2063 6.0779 13.5 5.36619 13.5 4.5348C13.5 3.70342 13.2063 2.99171 12.6188 2.39967C12.0312 1.80762 11.325 1.5116 10.5 1.5116C9.675 1.5116 8.96875 1.80762 8.38125 2.39967C7.79375 2.99171 7.5 3.70342 7.5 4.5348C7.5 5.36619 7.79375 6.0779 8.38125 6.66994C8.96875 7.26199 9.675 7.55801 10.5 7.55801Z" fill="#111111"/> 9614</svg> 9615</span> 9616 Profile 9617 </a> 9618 </li> 9619 </ul> 9620 </nav> 9621 </div> 9622</div> 9623 9624 9625 9626 </dialog> 9627 </dialog-component> 9628 9629 9630 9631 <a 9632 href="/cart" 9633 class="header-actions__action action__cart" 9634 aria-label="Cart" 9635 aria-describedby="cart-bubble-text" 9636 > 9637 9638 <cart-icon 9639 class=" 9640 header-actions__cart-icon 9641 9642 " 9643 data-testid="cart-icon" 9644 > 9645 <span 9646 class="svg-wrapper" 9647 aria-hidden="true" 9648 > 9649 <svg width="16" height="20" viewBox="0 0 16 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 9650<path d="M1.84629 20C1.32019 20 0.880952 19.8287 0.528571 19.4861C0.17619 19.1435 0 18.7165 0 18.205V6.23944C0 5.72796 0.17619 5.30093 0.528571 4.95833C0.880952 4.61574 1.32019 4.44444 1.84629 4.44444H4V3.88889C4 2.80907 4.38905 1.89102 5.16714 1.13472C5.94505 0.37824 6.88933 0 8 0C9.11067 0 10.055 0.37824 10.8329 1.13472C11.611 1.89102 12 2.80907 12 3.88889V4.44444H14.1537C14.6798 4.44444 15.119 4.61574 15.4714 4.95833C15.8238 5.30093 16 5.72796 16 6.23944V18.205C16 18.7165 15.8238 19.1435 15.4714 19.4861C15.119 19.8287 14.6798 20 14.1537 20H1.84629ZM1.84629 18.8889H14.1537C14.3297 18.8889 14.491 18.8177 14.6374 18.6753C14.7839 18.5329 14.8571 18.3761 14.8571 18.205V6.23944C14.8571 6.06833 14.7839 5.91157 14.6374 5.76917C14.491 5.62676 14.3297 5.55556 14.1537 5.55556H12V8.33333C12 8.49148 11.9454 8.62361 11.8363 8.72972C11.7271 8.83583 11.5912 8.88889 11.4286 8.88889C11.2659 8.88889 11.13 8.83583 11.02
965009 8.72972C10.9117 8.62361 10.8571 8.49148 10.8571 8.33333V5.55556H5.14286V8.33333C5.14286 8.49148 5.08829 8.62361 4.97914 8.72972C4.87 8.83583 4.7341 8.88889 4.57143 8.88889C4.40876 8.88889 4.27286 8.83583 4.16371 8.72972C4.05457 8.62361 4 8.49148 4 8.33333V5.55556H1.84629C1.67029 5.55556 1.50905 5.62676 1.36257 5.76917C1.2161 5.91157 1.14286 6.06833 1.14286 6.23944V18.205C1.14286 18.3761 1.2161 18.5329 1.36257 18.6753C1.50905 18.8177 1.67029 18.8889 1.84629 18.8889ZM5.14286 4.44444H10.8571V3.88889C10.8571 3.10685 10.5821 2.44833 10.032 1.91333C9.48171 1.37852 8.80438 1.11111 8 1.11111C7.19562 1.11111 6.51829 1.37852 5.968 1.91333C5.4179 2.44833 5.14286 3.10685 5.14286 3.88889V4.44444Z" fill="#111111"/> 9651</svg> 9652 9653 </span> 9654 9655 <div 9656 ref="cartBubble" 9657 class="cart-bubble visually-hidden" 9658 9659 9660 data-maintain-ratio 9661 9662> 9663 <span class="cart-bubble__background"></span> 9664 <span 9665 ref="cartBubbleText" 9666 id="cart-bubble-text" 9667 class="cart-bubble__text" 9668 9669 role="status" 9670 9671 > 9672 <span class="visually-hidden">Total items in cart: 0 9673 </span> 9674 <span 9675 class="cart-bubble__text-count hidden" 9676 ref="cartBubbleCount" 9677 aria-hidden="true" 9678 data-testid="cart-bubble" 9679 > 96800</span> 9681 </span> 9682</div> 9683 9684 </cart-icon> 9685 9686 </a> 9687 9688</header-actions> 9689 9690 9691 9692 9693 9694 9695 </div> 9696 </div> 9697 </div> 9698 9699 9700 9701 9702 9703 9704 9705 9706 9707 9708 9709</header-component> 9710
9711<script 9712 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/header.js?v=155792906110242140481774530326" 9713 type="module" 9714></script>
9714 9715 9716 9717 9718 9719
9719<script type="module"> 9720 import { hydrate } from '@theme/section-hydration'; 9721 const url = new URL(window.location.href); 9722 url.searchParams.delete('page'); 9723 hydrate('sections--28213213561178__header_section', url); 9724 </script>
9724 9725 9726 9727 9728</header> 9729<!-- END sections: header-group --> 9730 </div> 9731 9732
9732<script> 9733 // Inline header height calculation to prevent layout shift 9734 // Note: Updates in calculateHeaderGroupHeight() and updateTransparentHeaderOffset()utilities.js should be kept in sync with this function 9735 (function setHeaderHeighCustomProperties() { 9736 /* 9737 * Header calculation functions for maintaining CSS variables 9738 * Mimic calculateHeaderGroupHeight() in utilities.js 9739 */ 9740 const header = document.querySelector('header-component'); 9741 const headerGroup = document.querySelector('#header-group'); 9742 const hasHeaderSection = headerGroup?.querySelector('.header-section'); 9743 9744 if (!header || !headerGroup) return; 9745 9746 const headerHeight = header.offsetHeight; 9747 9748 // Calculate the total height of the header group 9749 let headerGroupHeight = 0; 9750 const children = headerGroup.children; 9751 for (let i = 0; i < children.length; i++) { 9752 const element = children[i]; 9753 if (element === header || !(element instanceof HTMLElement)) continue; 9754 headerGroupHeight += element.offsetHeight; 9755 } 9756 9757 // Check for transparent header special case 9758 if (header.hasAttribute('transparent') && header.parentElement?.nextElementSibling) { 9759 headerGroupHeight += headerHeight; 9760 } 9761 9762 // Set CSS variables 9763 document.body.style.setProperty('--header-height', `${headerHeight}px`); 9764 document.body.style.setProperty('--header-group-height', `${headerGroupHeight}px`); 9765 9766 /** 9767 * Updates CSS custom properties for transparent header offset calculation 9768 * Mimic updateTransparentHeaderOffset() in utilities.js 9769 */ 9770 9771 if (!hasHeaderSection || !header?.hasAttribute('transparent')) { 9772 document.body.style.setProperty('--transparent-header-offset-boolean', '0'); 9773 return; 9774 } 9775 9776 const hasImmediateSection = hasHeaderSection.nextElementSibling?.classList.contains('shopify-section'); 9777 9778 const shouldApplyOffset = !hasImmediateSection ? '1' : '0'; 9779 document.body.style.setProperty('--transparent-header-offset-boolean', shouldApplyOffset); 9780 })(); 9781 </script>
9781 9782 9783 <main 9784 id="MainContent" 9785 class="content-for-layout" 9786 role="main" 9787 data-page-transition-enabled="true" 9788 data-product-transition="true" 9789 data-template="product" 9790 > 9791 <div id="shopify-section-template--28213213725018__breadcrumb_Jp4BdR" class="shopify-section"> 9792 <div class="breadcrumb-section breadcrumb-section--product-page-placement section section--page-width color-scheme-1"> 9793 <div class="breadcrumb-section__grid"> 9794 <div class="breadcrumb-section__media-column"> 9795 <link href="//www.tnbl.co.uk/cdn/shop/t/6/assets/breadcrumb.css?v=133080827671147888771774530329" rel="stylesheet" type="text/css" media="all" /> 9796 9797 9798<nav 9799 class="breadcrumb__container" 9800 aria-label="Breadcrumb Navigation" 9801 style=" 9802 9803 --breadcrumb-alignment: left; 9804 9805 " 9806 9807> 9808 <ul class="breadcrumb 9809 9810 paragraph"> 9811 <li class="breadcrumb__item breadcrumb__item--first"> 9812 <a href="/" class="breadcrumb__link">Home</a> 9813 </li><li class="breadcrumb__item"> 9814 <a href="/collections/electricals" class="breadcrumb__link"> 9815 Electricals 9816 </a> 9817 </li><li class="breadcrumb__item"> 9818 <a href="/collections/apres" class="breadcrumb__link"> 9819 APRES 9820 </a> 9821 </li><li class="breadcrumb__item"> 9822 <span class="breadcrumb__text-current" style="text-decoration: none; cursor: default;" title="Aprés Mini Nova Led Lamp"> 9823 Aprés Mini Nova Led Lamp 9824 </span> 9825 </li></ul> 9826</nav> 9827 </div> 9828 </div> 9829 </div> 9830 9831 9832 9833 9834</div><div id="shopify-section-template--28213213725018__main" class="shopify-section"> 9835
9836<script type="application/ld+json"> 9837 {"@context":"http:\/\/schema.org\/","@id":"\/products\/apres-nova-led-lamp-mini#product","@type":"ProductGroup","brand":{"@type":"Brand","name":"APRES"},"category":"Nail Dryers","description":"High Standards. Mini Nova.\nThe Mini Nova LED Lamp brings professional Aprés performance to a compact, salon-ready design at $99.99. Built with 45 premium dual-wavelength LEDs, it delivers broad 365nm + 405nm coverage to support fast, even curing across compatible gel systems.\nChoose from 30-, 60-, or 90-second curing times, or activate Low Heat mode to reduce power output by 65% and help minimize heat spikes. Automatic hand sensing starts a 60-second cure as soon as a hand enters the lamp, keeping services moving with one less button to press.\nA removable gold-colored metal base simplifies cleaning, while the UV-coated exterior resists scratches and acetone exposure from everyday salon use. Compact, lightweight, and equipped with a built-in handle, Mini Nova fits naturally into first stations, and growing salons.\nProfessional essentials. A more attainable investment.For Professional Use Only\nBenefits\n\n\n\n\n \n\n\nProfessional dual-wavelength curing: 45 premium LEDs deliver broad 365nm + 405nm coverage for fast, even curing across compatible gel systems.\n\nThree standard cure times: Choose from 30-, 60-, or 90-second settings to accommodate different services and formulas.\n\nLow Heat comfort: L30, L60, and L90 modes reduce power output by 65% to help minimize heat spikes.\n\nTouch-free efficiency: Automatic hand sensing begins a 60-second cure without requiring a button press.\n\nBuilt for salon realities: The UV-coated exterior resists scratches and acetone exposure during everyday professional use.\n\nCompact station footprint: A smaller, lightweight design leaves more room for the tools and products your services require.\n\nSteady corded performance: Consistent 36W output without pausing to recharge.\nApplications\n\n\n\n\n \nSTANDARD CURING\n\nConnect the Mini Nova to the included power adapter and switch on the lamp.\nPlace the client's hand fully inside the lamp, following the hand-placement guide for even light exposure.\nSelect the appropriate 30-, 60-, or 90-second timer according to the gel product's curing instructions.\nRemove the hand once the curing cycle is complete.\n\nAUTOMATIC SENSING MODE\n\nInsert the hand fully into the lamp.\nThe sensor will automatically begin a 60-second curing cycle.\nRemove the hand when the cycle is complete.\n\nLOW HEAT MODE\n\nSelect LOW HEAT with the desired 30-, 60-, or 90-second timer.\nThe display will show L30, L60, or L90.\nLow Heat mode reduces power output by 65% to help minimize heat spikes during curing.\n\nIMPORTANT: Low Heat mode is designed to improve client comfort. Always follow the cure time specified for the gel product being used.\n \nRecommendations\n\n\n\n\n \n\nAlways follow the curing instructions provided with the specific gel system or product.\nPlace the entire hand inside the lamp and confirm that all five nails receive direct light exposure.\nUse Low Heat mode for heat-sensitive clients or gels that may produce a stronger exothermic reaction.\nKeep the lamp connected to its included adapter during use. Mini Nova is corded and does not contain a rechargeable battery.\nDisconnect the lamp from power before cleaning.\nClean only according to the product manual. Do not immerse the lamp, adapter, or power cord in liquid.\nStore in a clean, dry environment away from excessive heat and direct sunlight.\nRegister the lamp at apresnail.com\/warranty-registration to activate the applicable limited warranty.\n\n\n\n\n\n\n\nProduct: Mini Nova LED LampAvailable Colors: White and BlackDimensions: 200 à 239 à 87 mmWeight: 1.762 lbsPower Output: 36WLED Array: 45 premium LED bulbsWavelengths: 365nm + 405nmStandard Timers: 30 \/ 60 \/ 90 secondsLow Heat Timers: L30 \/ L60 \/ L90Low Heat Output: 65% reduced powerAutomatic Sensor: 60-second curing cycleDisplay: Digital touch displayPower Type: CordedAdapter Output: 24V \/ 1.5AAC Input: 100â240V, 50\/60HzExterior Finish: UV-coated; scratch- and acetone-resistantCertifications: CE and RoHSAdapter Certification: UL-certifiedWarranty: One-year limited warranty; registration requiredUse: Professional use only\n\n\n\n\n\n","hasVariant":[{"@id":"\/products\/apres-nova-led-lamp-mini?variant=54916494557530#variant","@type":"Product","image":"https:\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544\u0026width=1920","name":"Aprés Mini Nova Led Lamp - Black","offers":{"@id":"\/products\/apres-nova-led-lamp-mini?variant=54916494557530#offer","@type":"Offer","availability":"http:\/\/schema.org\/InStock","price":"99.95","priceCurrency":"GBP","url":"https:\/\/www.tnbl.co.uk\/products\/apres-nova-led-lamp-mini?variant=54916494557530"},"sku":"AP-NOVA-MINI-B"},{"@id":"\/products\/apres-nova-led-lamp-mini?variant=54916494590298#variant","@type":"Product","image":"https:\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_White-01.jpg?v=1791299606\u0026width=1920","name":"Aprés Mini Nova Led Lamp - White","offers":{"@id":"\/products\/apres-nova-led-lamp-mini?variant=54916494590298#offer","@type":"Offer","availability":"http:\/\/schema.org\/InStock","price":"99.95","priceCurrency":"GBP","url":"https:\/\/www.tnbl.co.uk\/products\/apres-nova-led-lamp-mini?variant=54916494590298"},"sku":"AP-NOVA-MINI-W"}],"name":"Aprés Mini Nova Led Lamp","productGroupID":"11020550406490","url":"https:\/\/www.tnbl.co.uk\/products\/apres-nova-led-lamp-mini"} 9838</script>
9838 9839 9840 9841 9842 9843 9844 9845 9846 9847 9848 9849 <sticky-add-to-cart 9850 class="sticky-add-to-cart" 9851 data-variant-available="true" 9852 data-product-id="11020550406490" 9853 data-current-variant-id="54916494557530" 9854 data-initial-quantity="1" 9855 data-default-variant-title="Default Title" 9856 > 9857 <div 9858 class="sticky-add-to-cart__bar color-scheme-1" 9859 data-stuck="false" 9860 ref="stickyBar" 9861 role="region" 9862 aria-label="Quick add to cart bar" 9863 > 9864 9865 9866 <div 9867 class="sticky-add-to-cart__image" 9868 > 9869 9870 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=120" alt="Aprés Mini Nova Led Lamp" width="120" height="120" loading="lazy" class="sticky-add-to-cart__image-img" data-testid="sticky-product-image" ref="productImage"> 9871 </div> 9872 9873 9874 9875 <div 9876 class="sticky-add-to-cart__info" 9877 data-has-image="true" 9878 data-singleton="false" 9879 data-single-option="true" 9880 > 9881 <h3 9882 class="sticky-add-to-cart__title" 9883 data-testid="sticky-product-title" 9884 > 9885 Aprés Mini Nova Led Lamp 9886 </h3> 9887 <div 9888 class="sticky-add-to-cart__variant" 9889 data-testid="sticky-variant-title" 9890 9891 > 9892 9893 9894 Black 9895 9896 </div> 9897 </div> 9898 9899 <div 9900 class="sticky-add-to-cart__price" 9901 data-testid="sticky-price-display" 9902 > 9903 <div ref="priceContainer"> 9904 9905 9906 9907 9908 9909 <span class="price">£99.95</span> 9910 9911 9912 9913 9914</div> 9915 </div> 9916 9917 <button 9918 type="button" 9919 class="sticky-add-to-cart__button add-to-cart-button button button--primary" 9920 ref="addToCartButton" 9921 on:click="/handleAddToCartClick" 9922 9923 > 9924 <span 9925 class="add-to-cart-text" 9926 > 9927 9928 <span class="svg-wrapper add-to-cart-icon"><svg 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> 9929</span> 9930 9931 <span class="add-to-cart-text__content"> 9932 <span>Add to cart</span> 9933 <span 9934 class="quantity-display" 9935 ref="quantityDisplay" 9936 9937 style="display: none;" 9938 9939 > (<span ref="quantityNumber">1</span>)</span> 9940 </span> 9941 </span> 9942 <span class="add-to-cart__added"> 9943 <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"> 9944 <g class="check"> 9945 <circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 9946 <path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 9947 </g> 9948 <g class="burst"> 9949 <g style="--index: 0;"> 9950 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 9951 </g> 9952 <g style="--index: 1;"> 9953 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 9954 </g> 9955 <g style="--index: 2;"> 9956 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 9957 </g> 9958 <g style="--index: 3;"> 9959 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 9960 </g> 9961 <g style="--index: 4;"> 9962 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 9963 </g> 9964 <g style="--index: 5;"> 9965 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 9966 </g> 9967 <g style="--index: 6;"> 9968 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 9969 </g> 9970 <g style="--index: 7;"> 9971 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 9972 </g> 9973 </g> 9974</svg> 9975</span> 9976 </span> 9977 </button> 9978 </div> 9979 </sticky-add-to-cart> 9980 9981 9982 9983 9984 9985 9986<div class="section-background color-scheme-1"></div> 9987<div 9988 class="product-information section section--page-width spacing-style color-scheme-1 relative" 9989 style="--padding-block-start: 0px;--padding-block-end: 0px; --gap: 48px;" 9990 data-testid="product-information" 9991> 9992 9993 9994 <a 9995 class="skip-to-content-link button-secondary" 9996 href="#ProductInformation-template--28213213725018__main" 9997> 9998 Skip to product information 9999</a> 10000 10001 10002 <div 10003 class="product-information__grid product-information--media-left" 10004 data-product-grid-content 10005 > 10006 10007 10008 10009 10010 10011 10012 <div 10013 class="product-information__media" 10014 data-testid="product-information-media" 10015 > 10016 10017 10018
10019<script 10020 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/zoom-dialog.js?v=177050797852733473821774530327" 10021 type="module" 10022 ></script>
10022<script 10023 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/drag-zoom-wrapper.js?v=52868656766563354141774530326" 10024 type="module" 10025 ></script>
10025<style data-shopify> 10026 10027 10028 10029 .media-fit-contain { 10030 --product-media-fit: contain; 10031 } 10032 10033 /* Media fit for all media elements */ 10034 .media-fit-contain :is(img, video, iframe, .deferred-media__poster-image) { 10035 object-fit: contain; 10036 width: 100%; 10037 height: 100%; 10038 } 10039 10040 /* 3D Models (no object-fit support, just sizing) */ 10041 .media-fit-contain model-viewer { 10042 width: 100%; 10043 height: 100%; 10044 } 10045 10046 10047 10048 10049 /* Add background color so carousel arrows' mix-blend-mode works correctly even on transparent areas. */ 10050 10051 .media-fit-contain :is(img, .deferred-media__poster-image) { 10052 background-color: var(--color-background); 10053 } 10054 10055 10056</style> 10057 10058 10059 <media-gallery 10060 class=" 10061 spacing-style 10062 sticky-content 10063 10064 media-gallery--carousel 10065 10066 10067 border-style 10068 " 10069 style="--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --border-width: 1px; --border-style: solid; --border-color: 10070rgb(var(--color-border-rgb) / 1.0); --border-radius: 100710px; 10072 --thumbnail-width: 72px; --media-radius: 0px;--image-gap: 4px;" 10073 data-presentation="carousel" 10074 10075 > 10076 10077 10078 10079 10080 10081 10082 <slideshow-component 10083 10084 ref="slideshow" 10085 10086 10087 style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4, --slide-5, --slide-6, --slide-7, --slide-8;--slide-min-height: auto;--slide-min-height-desktop: auto;" 10088 10089 initial-slide="0" 10090 10091 10092 infinite 10093 10094 10095 10096 10097> 10098 10099 <slideshow-container ref="slideshowContainer"> 10100 10101 10102 10103 <slideshow-arrows 10104 position="center" 10105 10106 class="mobile:hidden" 10107 10108><button 10109 class=" 10110 slideshow-control slideshow-control--previous 10111 10112 10113 slideshow-control--style-none 10114 button button-unstyled button-unstyled--transparent 10115 flip-x 10116 " 10117 10118 aria-label="Previous slide" 10119 10120 on:click="/previous" 10121 ref="previous" 10122> 10123 <span class="svg-wrapper icon-arrow"><svg 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)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg> 10124</span> 10125</button> 10126<button 10127 class=" 10128 slideshow-control slideshow-control--next 10129 10130 10131 slideshow-control--style-none 10132 button button-unstyled button-unstyled--transparent 10133 10134 " 10135 10136 aria-label="Next slide" 10137 10138 on:click="/next" 10139 ref="next" 10140> 10141 <span class="svg-wrapper icon-arrow"><svg 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)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg> 10142</span> 10143</button> 10144</slideshow-arrows> 10145 10146 10147 10148 <slideshow-slides 10149 tabindex="-1" 10150 ref="scroller" 10151 10152 > 10153 10154 10155 10156 10157 10158 10159 10160 <slideshow-slide 10161 ref="slides[]" 10162 aria-hidden="false" 10163 style="--slideshow-timeline: --slide-0; --product-media-fit: contain; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;" 10164 10165 class="product-media-container constrain-height media-fit-contain product-media-container--image product-media-container--zoomable product-media-container--tallest" 10166 10167 on:click="#zoom-dialog-AV3d1a1pHc2lONmtiS__media-gallery/open/0" data-view-transition-type="product-image-transition" 10168 10169 style="--media-preview-ratio: 1.0;" 10170 10171 10172 10173 10174 on:click="#zoom-dialog-AV3d1a1pHc2lONmtiS__media-gallery/open/0" data-view-transition-type="product-image-transition" 10175> 10176 10177 10178 10179 10180<div 10181 class="product-media" 10182 style="--ratio: 1.0" 10183 data-media-id="62492790292826" 10184> 10185 10186 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=3840" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=832 832w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=1200 1200w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=1600 1600w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=1920 1920w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=2560 2560w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=3840 3840w" width="3840" height="3840" sizes="(min-width: 95rem) 65rem, (min-width: 750px) calc(100vw - 25rem - 40px - 24px - 40px), 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=3840" fetchpriority="high" style="--focal-point: 50.0% 50.0%;"> 10187 10188 10189 10190 10191</div> 10192 10193 10194 10195 10196</slideshow-slide> 10197 10198 10199 10200 10201 10202 10203 10204 <slideshow-slide 10205 ref="slides[]" 10206 aria-hidden="true" 10207 style="--slideshow-timeline: --slide-1; --product-media-fit: contain; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;" 10208 10209 class="product-media-container constrain-height media-fit-contain product-media-container--image product-media-container--zoomable" 10210
10211 on:click="#zoom-dialog-AV3d1a1pHc2lONmtiS__media-gallery/open/1" 10212 10213 style="--media-preview-ratio: 1.0;" 10214 10215 10216 10217 10218 on:click="#zoom-dialog-AV3d1a1pHc2lONmtiS__media-gallery/open/1" 10219> 10220 10221 10222 10223 10224<div 10225 class="product-media" 10226 style="--ratio: 1.0" 10227 data-media-id="62492790358362" 10228> 10229 10230 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=3840" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=832 832w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=1200 1200w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=1600 1600w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=1920 1920w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=2560 2560w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=3840 3840w" width="3840" height="3840" sizes="(min-width: 95rem) 65rem, (min-width: 750px) calc(100vw - 25rem - 40px - 24px - 40px), 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 10231 10232 10233 10234 10235</div> 10236 10237 10238 10239 10240</slideshow-slide> 10241 10242 10243 10244 10245 10246 10247 10248 <slideshow-slide 10249 ref="slides[]" 10250 aria-hidden="true" 10251 style="--slideshow-timeline: --slide-2; --product-media-fit: contain; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;" 10252 10253 class="product-media-container constrain-height media-fit-contain product-media-container--image product-media-container--zoomable" 10254 10255 on:click="#zoom-dialog-AV3d1a1pHc2lONmtiS__media-gallery/open/2" 10256 10257 style="--media-preview-ratio: 1.0;" 10258 10259 10260 10261 10262 on:click="#zoom-dialog-AV3d1a1pHc2lONmtiS__media-gallery/open/2" 10263> 10264 10265 10266 10267 10268<div 10269 class="product-media" 10270 style="--ratio: 1.0" 10271 data-media-id="62492790423898" 10272> 10273 10274 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=3840" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=832 832w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=1200 1200w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=1600 1600w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=1920 1920w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=2560 2560w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=3840 3840w" width="3840" height="3840" sizes="(min-width: 95rem) 65rem, (min-width: 750px) calc(100vw - 25rem - 40px - 24px - 40px), 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 10275 10276 10277 10278 10279</div> 10280 10281 10282 10283 10284</slideshow-slide> 10285 10286 10287 10288 10289 10290 10291 10292 <slideshow-slide 10293 ref="slides[]" 10294 aria-hidden="true" 10295 style="--slideshow-timeline: --slide-3; --product-media-fit: contain; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;" 10296 10297 class="product-media-container constrain-height media-fit-contain product-media-container--image product-media-container--zoomable" 10298
10299 on:click="#zoom-dialog-AV3d1a1pHc2lONmtiS__media-gallery/open/3" 10300 10301 style="--media-preview-ratio: 1.0;" 10302 10303 10304 10305 10306 on:click="#zoom-dialog-AV3d1a1pHc2lONmtiS__media-gallery/open/3" 10307> 10308 10309 10310 10311 10312<div 10313 class="product-media" 10314 style="--ratio: 1.0" 10315 data-media-id="62492790489434" 10316> 10317 10318 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=3840" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=832 832w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=1200 1200w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=1600 1600w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=1920 1920w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=2560 2560w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=3840 3840w" width="3840" height="3840" sizes="(min-width: 95rem) 65rem, (min-width: 750px) calc(100vw - 25rem - 40px - 24px - 40px), 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 10319 10320 10321 10322 10323</div> 10324 10325 10326 10327 10328</slideshow-slide> 10329 10330 10331 10332 10333 10334 10335 10336 <slideshow-slide 10337 ref="slides[]" 10338 aria-hidden="true" 10339 style="--slideshow-timeline: --slide-4; --product-media-fit: contain; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;" 10340 10341 class="product-media-container constrain-height media-fit-contain product-media-container--image product-media-container--zoomable" 10342 10343 on:click="#zoom-dialog-AV3d1a1pHc2lONmtiS__media-gallery/open/4" 10344 10345 style="--media-preview-ratio: 1.0;" 10346 10347 10348 10349 10350 on:click="#zoom-dialog-AV3d1a1pHc2lONmtiS__media-gallery/open/4" 10351> 10352 10353 10354 10355 10356<div 10357 class="product-media" 10358 style="--ratio: 1.0" 10359 data-media-id="62492790522202" 10360> 10361 10362 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=3840" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=832 832w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=1200 1200w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=1600 1600w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=1920 1920w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=2560 2560w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=3840 3840w" width="3840" height="3840" sizes="(min-width: 95rem) 65rem, (min-width: 750px) calc(100vw - 25rem - 40px - 24px - 40px), 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 10363 10364 10365 10366 10367</div> 10368 10369 10370 10371 10372</slideshow-slide> 10373 10374 10375 10376 10377 10378 10379 10380 <slideshow-slide 10381 ref="slides[]" 10382 aria-hidden="true" 10383 style="--slideshow-timeline: --slide-5; --product-media-fit: contain; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;" 10384 10385 class="product-media-container constrain-height media-fit-contain product-media-container--image product-media-container--zoomable" 10386
10387 on:click="#zoom-dialog-AV3d1a1pHc2lONmtiS__media-gallery/open/5" 10388 10389 style="--media-preview-ratio: 1.0;" 10390 10391 10392 10393 10394 on:click="#zoom-dialog-AV3d1a1pHc2lONmtiS__media-gallery/open/5" 10395> 10396 10397 10398 10399 10400<div 10401 class="product-media" 10402 style="--ratio: 1.0" 10403 data-media-id="62492790456666" 10404> 10405 10406 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=3840" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=832 832w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=1200 1200w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=1600 1600w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=1920 1920w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=2560 2560w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=3840 3840w" width="3840" height="3840" sizes="(min-width: 95rem) 65rem, (min-width: 750px) calc(100vw - 25rem - 40px - 24px - 40px), 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 10407 10408 10409 10410 10411</div> 10412 10413 10414 10415 10416</slideshow-slide> 10417 10418 10419 10420 10421 10422 10423 10424 <slideshow-slide 10425 ref="slides[]" 10426 aria-hidden="true" 10427 style="--slideshow-timeline: --slide-6; --product-media-fit: contain; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;" 10428 10429 class="product-media-container constrain-height media-fit-contain product-media-container--image product-media-container--zoomable" 10430 10431 on:click="#zoom-dialog-AV3d1a1pHc2lONmtiS__media-gallery/open/6" 10432 10433 style="--media-preview-ratio: 1.0;" 10434 10435 10436 10437 10438 on:click="#zoom-dialog-AV3d1a1pHc2lONmtiS__media-gallery/open/6" 10439> 10440 10441 10442 10443 10444<div 10445 class="product-media" 10446 style="--ratio: 1.0" 10447 data-media-id="62492790325594" 10448> 10449 10450 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=3840" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=832 832w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=1200 1200w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=1600 1600w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=1920 1920w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=2560 2560w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=3840 3840w" width="3840" height="3840" sizes="(min-width: 95rem) 65rem, (min-width: 750px) calc(100vw - 25rem - 40px - 24px - 40px), 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 10451 10452 10453 10454 10455</div> 10456 10457 10458 10459 10460</slideshow-slide> 10461 10462 10463 10464 10465 10466 10467 10468 <slideshow-slide 10469 ref="slides[]" 10470 aria-hidden="true" 10471 style="--slideshow-timeline: --slide-7; --product-media-fit: contain; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;" 10472 10473 class="product-media-container constrain-height media-fit-contain product-media-container--image product-media-container--zoomable" 10474
10475 on:click="#zoom-dialog-AV3d1a1pHc2lONmtiS__media-gallery/open/7" 10476 10477 style="--media-preview-ratio: 1.0;" 10478 10479 10480 10481 10482 on:click="#zoom-dialog-AV3d1a1pHc2lONmtiS__media-gallery/open/7" 10483> 10484 10485 10486 10487 10488<div 10489 class="product-media" 10490 style="--ratio: 1.0" 10491 data-media-id="62492790260058" 10492> 10493 10494 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=3840" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=832 832w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=1200 1200w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=1600 1600w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=1920 1920w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=2560 2560w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=3840 3840w" width="3840" height="3840" sizes="(min-width: 95rem) 65rem, (min-width: 750px) calc(100vw - 25rem - 40px - 24px - 40px), 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 10495 10496 10497 10498 10499</div> 10500 10501 10502 10503 10504</slideshow-slide> 10505 10506 10507 10508 </slideshow-slides> 10509 </slideshow-container> 10510 10511 10512 10513 <slideshow-controls 10514 10515 ref="slideshowControls" 10516 10517 pagination-position="center" 10518 scroll-mode="horizontal" 10519 10520 10521 10522 thumbnails 10523 10524 10525 class="mobile:hidden" 10526 10527 10528 style="--thumbnail-radius: 12px;" 10529 10530 > 10531 10532 10533 10534 10535 10536 <scroll-hint 10537 ref="thumbnailsContainer" 10538 class="slideshow-controls__thumbnails-container" 10539 > 10540 <div class="slideshow-controls__thumbnails"> 10541 10542 <button 10543 class="slideshow-control button button-unstyled slideshow-controls__thumbnail" 10544 aria-label="Slide 1 of 8" 10545 on:click="/select/0" 10546 style="--aspect-ratio: 1.0;" 10547 ref="thumbnails[]" 10548 10549 aria-selected="true" 10550 10551 > 10552 10553 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=144" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=144 144w" width="144" height="144" loading="lazy" style="object-position: 50.0% 50.0%;"> 10554 10555 10556 </button> 10557 10558 <button 10559 class="slideshow-control button button-unstyled slideshow-controls__thumbnail" 10560 aria-label="Slide 2 of 8" 10561 on:click="/select/1" 10562 style="--aspect-ratio: 1.0;" 10563 ref="thumbnails[]" 10564 10565 > 10566 10567 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=144" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=144 144w" width="144" height="144" loading="lazy" style="object-position: 50.0% 50.0%;"> 10568 10569 10570 </button> 10571 10572 <button 10573 class="slideshow-control button button-unstyled slideshow-controls__thumbnail" 10574 aria-label="Slide 3 of 8" 10575 on:click="/select/2" 10576 style="--aspect-ratio: 1.0;" 10577 ref="thumbnails[]" 10578 10579 > 10580 10581 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=144" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=144 144w" width="144" height="144" loading="lazy" style="object-position: 50.0% 50.0%;"> 10582 10583 10584 </button> 10585 10586 <button 10587 class="slideshow-control button button-unstyled slideshow-controls__thumbnail" 10588 aria-label="Slide 4 of 8" 10589 on:click="/select/3" 10590 style="--aspect-ratio: 1.0;" 10591 ref="thumbnails[]" 10592 10593 > 10594 10595 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=144" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=144 144w" width="144" height="144" loading="lazy" style="object-position: 50.0% 50.0%;"> 10596 10597 10598 </button> 10599 10600 <button 10601 class="slideshow-control button button-unstyled slideshow-controls__thumbnail" 10602 aria-label="Slide 5 of 8" 10603 on:click="/select/4" 10604 style="--aspect-ratio: 1.0;" 10605 ref="thumbnails[]" 10606 10607 > 10608 10609 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=144" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=144 144w" width="144" height="144" loading="lazy" style="object-position: 50.0% 50.0%;"> 10610 10611 10612 </button> 10613 10614 <button 10615 class="slideshow-control button button-unstyled slideshow-controls__thumbnail" 10616 aria-label="Slide 6 of 8" 10617 on:click="/select/5" 10618 style="--aspect-ratio: 1.0;" 10619 ref="thumbnails[]" 10620 10621 > 10622 10623 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=144" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=144 144w" width="144" height="144" loading="lazy" style="object-position: 50.0% 50.0%;"> 10624 10625 10626 </button> 10627 10628 <button 10629 class="slideshow-control button button-unstyled slideshow-controls__thumbnail" 10630 aria-label="Slide 7 of 8" 10631 on:click="/select/6" 10632 style="--aspect-ratio: 1.0;" 10633 ref="thumbnails[]" 10634 10635 > 10636 10637 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=144" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=144 144w" width="144" height="144" loading="lazy" style="object-position: 50.0% 50.0%;"> 10638 10639 10640 </button> 10641 10642 <button 10643 class="slideshow-control button button-unstyled slideshow-controls__thumbnail" 10644 aria-label="Slide 8 of 8" 10645 on:click="/select/7" 10646 style="--aspect-ratio: 1.0;" 10647 ref="thumbnails[]" 10648 10649 > 10650 10651 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=144" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=144 144w" width="144" height="144" loading="lazy" style="object-position: 50.0% 50.0%;"> 10652 10653 10654 </button> 10655 10656 </div> 10657 </scroll-hint> 10658 10659 10660 10661 </slideshow-controls> 10662 10663 10664 10665 10666 10667 10668 10669 10670 10671 <slideshow-controls 10672 10673 ref="slideshowControls" 10674 10675 pagination-position="center" 10676 scroll-mode="horizontal" 10677 10678 controls-on-media 10679 10680 10681 10682
10683 class="desktop:hidden media-gallery__mobile-controls" 10684 10685 10686 style="--thumbnail-radius: 12px;" 10687 10688 > 10689 10690 10691 10692 10693 10694 <ol class="slideshow-controls__dots"> 10695 10696 <li> 10697 <button 10698 class="slideshow-control button button-unstyled" 10699 style="animation-timeline: --slide-1" 10700 aria-label="Slide 1 of 8" 10701 on:click="/select/0" 10702 ref="dots[]" 10703 10704 aria-selected="true" 10705 10706 > 10707 1 10708 </button> 10709 </li> 10710 10711 <li> 10712 <button 10713 class="slideshow-control button button-unstyled" 10714 style="animation-timeline: --slide-2" 10715 aria-label="Slide 2 of 8" 10716 on:click="/select/1" 10717 ref="dots[]" 10718 10719 > 10720 2 10721 </button> 10722 </li> 10723 10724 <li> 10725 <button 10726 class="slideshow-control button button-unstyled" 10727 style="animation-timeline: --slide-3" 10728 aria-label="Slide 3 of 8" 10729 on:click="/select/2" 10730 ref="dots[]" 10731 10732 > 10733 3 10734 </button> 10735 </li> 10736 10737 <li> 10738 <button 10739 class="slideshow-control button button-unstyled" 10740 style="animation-timeline: --slide-4" 10741 aria-label="Slide 4 of 8" 10742 on:click="/select/3" 10743 ref="dots[]" 10744 10745 > 10746 4 10747 </button> 10748 </li> 10749 10750 <li> 10751 <button 10752 class="slideshow-control button button-unstyled" 10753 style="animation-timeline: --slide-5" 10754 aria-label="Slide 5 of 8" 10755 on:click="/select/4" 10756 ref="dots[]" 10757 10758 > 10759 5 10760 </button> 10761 </li> 10762 10763 <li> 10764 <button 10765 class="slideshow-control button button-unstyled" 10766 style="animation-timeline: --slide-6" 10767 aria-label="Slide 6 of 8" 10768 on:click="/select/5" 10769 ref="dots[]" 10770 10771 > 10772 6 10773 </button> 10774 </li> 10775 10776 <li> 10777 <button 10778 class="slideshow-control button button-unstyled" 10779 style="animation-timeline: --slide-7" 10780 aria-label="Slide 7 of 8" 10781 on:click="/select/6" 10782 ref="dots[]" 10783 10784 > 10785 7 10786 </button> 10787 </li> 10788 10789 <li> 10790 <button 10791 class="slideshow-control button button-unstyled" 10792 style="animation-timeline: --slide-8" 10793 aria-label="Slide 8 of 8" 10794 on:click="/select/7" 10795 ref="dots[]" 10796 10797 > 10798 8 10799 </button> 10800 </li> 10801 10802 </ol> 10803 10804 10805 10806 </slideshow-controls> 10807 10808 10809 10810 10811 10812 10813 10814</slideshow-component> 10815 10816 10817 10818 10819 10820<zoom-dialog 10821 ref="zoomDialogComponent" 10822 id="zoom-dialog-AV3d1a1pHc2lONmtiS__media-gallery" 10823 > 10824 <dialog 10825 ref="dialog" 10826 on:keydown="/handleKeyDown" 10827 scroll-lock 10828 > 10829 <button 10830 type="button" 10831 class="button button-unstyled close-button dialog-zoomed-gallery__close-button" 10832 aria-label="Close" 10833 on:click="/close" 10834 > 10835 <span class="visually-hidden">Close</span> 10836 <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 10837 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 10838 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 10839</svg> 10840 10841 </button> 10842 <div class="dialog-thumbnails-list-container"> 10843 <scroll-hint 10844 class="dialog-thumbnails-list list-unstyled" 10845 ref="thumbnails" 10846 > 10847 10848 10849 <button 10850 type="button" 10851 class="button button-unstyled dialog-thumbnails-list__thumbnail" 10852 aria-label="Scroll to Aprés Mini Nova Led Lamp"
10853 on:click="/handleThumbnailClick/0" 10854 on:pointerenter="/handleThumbnailPointerEnter/0" 10855 style="--aspect-ratio: 1.0; --gallery-aspect-ratio: 1.0;" 10856 10857 aria-selected="true" 10858 10859 > 10860 10861 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=1024" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=832 832w" width="1024" height="1024" loading="lazy" sizes="auto, 110, (min-width: 750px) 160" style="object-position: 50.0% 50.0%;"> 10862 </button> 10863 <button 10864 type="button" 10865 class="button button-unstyled dialog-thumbnails-list__thumbnail" 10866 aria-label="Scroll to Aprés Mini Nova Led Lamp" 10867 on:click="/handleThumbnailClick/1" 10868 on:pointerenter="/handleThumbnailPointerEnter/1" 10869 style="--aspect-ratio: 1.0; --gallery-aspect-ratio: 1.0;" 10870 10871 > 10872 10873 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=1024" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=832 832w" width="1024" height="1024" loading="lazy" sizes="auto, 110, (min-width: 750px) 160" style="object-position: 50.0% 50.0%;"> 10874 </button> 10875 <button 10876 type="button" 10877 class="button button-unstyled dialog-thumbnails-list__thumbnail" 10878 aria-label="Scroll to Aprés Mini Nova Led Lamp" 10879 on:click="/handleThumbnailClick/2" 10880 on:pointerenter="/handleThumbnailPointerEnter/2" 10881 style="--aspect-ratio: 1.0; --gallery-aspect-ratio: 1.0;" 10882 10883 > 10884 10885 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=1024" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=832 832w" width="1024" height="1024" loading="lazy" sizes="auto, 110, (min-width: 750px) 160" style="object-position: 50.0% 50.0%;"> 10886 </button> 10887 <button 10888 type="button" 10889 class="button button-unstyled dialog-thumbnails-list__thumbnail" 10890 aria-label="Scroll to Aprés Mini Nova Led Lamp" 10891 on:click="/handleThumbnailClick/3" 10892 on:pointerenter="/handleThumbnailPointerEnter/3" 10893 style="--aspect-ratio: 1.0; --gallery-aspect-ratio: 1.0;" 10894 10895 > 10896 10897 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=1024" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=832 832w" width="1024" height="1024" loading="lazy" sizes="auto, 110, (min-width: 750px) 160" style="object-position: 50.0% 50.0%;"> 10898 </button> 10899 <button 10900 type="button" 10901 class="button button-unstyled dialog-thumbnails-list__thumbnail" 10902 aria-label="Scroll to Aprés Mini Nova Led Lamp"
10903 on:click="/handleThumbnailClick/4" 10904 on:pointerenter="/handleThumbnailPointerEnter/4" 10905 style="--aspect-ratio: 1.0; --gallery-aspect-ratio: 1.0;" 10906 10907 > 10908 10909 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=1024" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=832 832w" width="1024" height="1024" loading="lazy" sizes="auto, 110, (min-width: 750px) 160" style="object-position: 50.0% 50.0%;"> 10910 </button> 10911 <button 10912 type="button" 10913 class="button button-unstyled dialog-thumbnails-list__thumbnail" 10914 aria-label="Scroll to Aprés Mini Nova Led Lamp" 10915 on:click="/handleThumbnailClick/5" 10916 on:pointerenter="/handleThumbnailPointerEnter/5" 10917 style="--aspect-ratio: 1.0; --gallery-aspect-ratio: 1.0;" 10918 10919 > 10920 10921 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=1024" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=832 832w" width="1024" height="1024" loading="lazy" sizes="auto, 110, (min-width: 750px) 160" style="object-position: 50.0% 50.0%;"> 10922 </button> 10923 <button 10924 type="button" 10925 class="button button-unstyled dialog-thumbnails-list__thumbnail" 10926 aria-label="Scroll to Aprés Mini Nova Led Lamp" 10927 on:click="/handleThumbnailClick/6" 10928 on:pointerenter="/handleThumbnailPointerEnter/6" 10929 style="--aspect-ratio: 1.0; --gallery-aspect-ratio: 1.0;" 10930 10931 > 10932 10933 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=1024" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=832 832w" width="1024" height="1024" loading="lazy" sizes="auto, 110, (min-width: 750px) 160" style="object-position: 50.0% 50.0%;"> 10934 </button> 10935 <button 10936 type="button" 10937 class="button button-unstyled dialog-thumbnails-list__thumbnail" 10938 aria-label="Scroll to Aprés Mini Nova Led Lamp" 10939 on:click="/handleThumbnailClick/7" 10940 on:pointerenter="/handleThumbnailPointerEnter/7" 10941 style="--aspect-ratio: 1.0; --gallery-aspect-ratio: 1.0;" 10942 10943 > 10944 10945 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=1024" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=832 832w" width="1024" height="1024" loading="lazy" sizes="auto, 110, (min-width: 750px) 160" style="object-position: 50.0% 50.0%;"> 10946 </button> 10947 </scroll-hint> 10948 </div> 10949 <ul 10950 class="dialog-zoomed-gallery list-unstyled" 10951 ><li 10952 id="product-62492790292826-1" 10953 class="product-media-container constrain-height media-fit-contain product-media-container--image product-media-container--zoomable" 10954 style=" --media-preview-ratio: 1.0;" 10955 ref="media[]" 10956 10957 on:click="/close" 10958 10959 > 10960 10961 <drag-zoom-wrapper class="product-media__drag-zoom-wrapper"> 10962 10963<div 10964 class="product-media" 10965 style="--ratio: 1.0" 10966 data-media-id="62492790292826" 10967> 10968 10969 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=3840" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=832 832w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=1200 1200w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=1600 1600w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=1920 1920w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=2560 2560w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=3840" fetchpriority="high" style="--focal-point: 50.0% 50.0%;"> 10970 10971 10972 10973 10974</div> 10975 10976 10977</drag-zoom-wrapper> 10978 10979 </li><li 10980 id="product-62492790358362-2" 10981 class="product-media-container constrain-height media-fit-contain product-media-container--image product-media-container--zoomable" 10982 style=" --media-preview-ratio: 1.0;" 10983 ref="media[]" 10984 10985 on:click="/close" 10986 10987 > 10988 10989 <drag-zoom-wrapper class="product-media__drag-zoom-wrapper"> 10990 10991<div 10992 class="product-media" 10993 style="--ratio: 1.0" 10994 data-media-id="62492790358362" 10995> 10996 10997 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=3840" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=832 832w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=1200 1200w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=1600 1600w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=1920 1920w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=2560 2560w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 10998 10999 11000 11001 11002</div> 11003 11004 11005</drag-zoom-wrapper> 11006 11007 </li><li 11008 id="product-62492790423898-3" 11009 class="product-media-container constrain-height media-fit-contain product-media-container--image product-media-container--zoomable" 11010 style=" --media-preview-ratio: 1.0;" 11011 ref="media[]" 11012 11013 on:click="/close" 11014 11015 > 11016 11017 <drag-zoom-wrapper class="product-media__drag-zoom-wrapper"> 11018 11019<div 11020 class="product-media" 11021 style="--ratio: 1.0" 11022 data-media-id="62492790423898" 11023> 11024 11025 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=3840" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=832 832w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=1200 1200w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=1600 1600w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=1920 1920w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=2560 2560w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 11026 11027 11028 11029 11030</div> 11031 11032 11033</drag-zoom-wrapper> 11034 11035 </li><li 11036 id="product-62492790489434-4" 11037 class="product-media-container constrain-height media-fit-contain product-media-container--image product-media-container--zoomable" 11038 style=" --media-preview-ratio: 1.0;" 11039 ref="media[]" 11040 11041 on:click="/close" 11042 11043 > 11044 11045 <drag-zoom-wrapper class="product-media__drag-zoom-wrapper"> 11046 11047<div 11048 class="product-media" 11049 style="--ratio: 1.0" 11050 data-media-id="62492790489434" 11051> 11052 11053 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=3840" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=832 832w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=1200 1200w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=1600 1600w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=1920 1920w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=2560 2560w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 11054 11055 11056 11057 11058</div> 11059 11060 11061</drag-zoom-wrapper> 11062 11063 </li><li 11064 id="product-62492790522202-5" 11065 class="product-media-container constrain-height media-fit-contain product-media-container--image product-media-container--zoomable" 11066 style=" --media-preview-ratio: 1.0;" 11067 ref="media[]" 11068 11069 on:click="/close" 11070 11071 > 11072 11073 <drag-zoom-wrapper class="product-media__drag-zoom-wrapper"> 11074 11075<div 11076 class="product-media" 11077 style="--ratio: 1.0" 11078 data-media-id="62492790522202" 11079> 11080 11081 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=3840" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=832 832w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=1200 1200w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=1600 1600w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=1920 1920w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc
110818cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=2560 2560w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 11082 11083 11084 11085 11086</div> 11087 11088 11089</drag-zoom-wrapper> 11090 11091 </li><li 11092 id="product-62492790456666-6" 11093 class="product-media-container constrain-height media-fit-contain product-media-container--image product-media-container--zoomable" 11094 style=" --media-preview-ratio: 1.0;" 11095 ref="media[]" 11096 11097 on:click="/close" 11098 11099 > 11100 11101 <drag-zoom-wrapper class="product-media__drag-zoom-wrapper"> 11102 11103<div 11104 class="product-media" 11105 style="--ratio: 1.0" 11106 data-media-id="62492790456666" 11107> 11108 11109 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=3840" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=832 832w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=1200 1200w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=1600 1600w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=1920 1920w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=2560 2560w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 11110 11111 11112 11113 11114</div> 11115 11116 11117</drag-zoom-wrapper> 11118 11119 </li><li 11120 id="product-62492790325594-7" 11121 class="product-media-container constrain-height media-fit-contain product-media-container--image product-media-container--zoomable" 11122 style=" --media-preview-ratio: 1.0;" 11123 ref="media[]" 11124 11125 on:click="/close" 11126 11127 > 11128 11129 <drag-zoom-wrapper class="product-media__drag-zoom-wrapper"> 11130 11131<div 11132 class="product-media" 11133 style="--ratio: 1.0" 11134 data-media-id="62492790325594" 11135> 11136 11137 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=3840" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=832 832w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=1200 1200w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=1600 1600w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=1920 1920w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=2560 2560w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 11138 11139 11140 11141 11142</div> 11143 11144 11145</drag-zoom-wrapper> 11146 11147 </li><li 11148 id="product-62492790260058-8" 11149 class="product-media-container constrain-height media-fit-contain product-media-container--image product-media-container--zoomable" 11150 style=" --media-preview-ratio: 1.0;" 11151 ref="media[]" 11152 11153 on:click="/close" 11154 11155 > 11156 11157 <drag-zoom-wrapper class="product-media__drag-zoom-wrapper"> 11158 11159<div 11160 class="product-media" 11161 style="--ratio: 1.0" 11162 data-media-id="62492790260058" 11163> 11164 11165 <img src="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=3840" alt="Aprés Mini Nova Led Lamp" srcset="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=832 832w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=1200 1200w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=1600 1600w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=1920 1920w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=2560 2560w, //www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 11166 11167 11168 11169 11170</div> 11171 11172 11173</drag-zoom-wrapper> 11174 11175 </li></ul> 11176 </dialog> 11177 </zoom-dialog></media-gallery> 11178 11179 11180 11181 11182 11183 11184 11185 </div> 11186 11187 11188 11189 11190 11191 11192<div 11193 id="ProductInformation-template--28213213725018__main" 11194 class=" 11195 product-details 11196 sticky-content--desktop 11197 " 11198 style="--details-position: flex-start;"
11199 data-testid="product-information-details" 11200 11201 data-view-transition-type="product-details" 11202 11203> 11204 11205 11206 <div 11207 class=" 11208 group-block 11209 group-block--height-fit 11210 group-block--width-fill 11211 border-style 11212 spacing-style 11213 size-style 11214 11215 11216 11217 11218 " 11219 style=" 11220 --border-width: 1px; --border-style: none; --border-color: 11221rgb(var(--color-border-rgb) / 1.0); --border-radius: 112220px; 11223 11224 --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; 11225 --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem; 11226 11227 " 11228 11229 data-testid="group-block" 11230><div class="group-block__media-wrapper"> 11231 11232 11233 11234 11235 11236 </div> 11237 11238 <div 11239 class=" 11240 group-block-content 11241 11242 layout-panel-flex 11243 layout-panel-flex--column 11244 11245 11246 group-block-content--has-animation group-block-content--animate- 11247 " 11248 data-animation-type="" 11249 style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 11250 11251--gap: max(24px, calc(var(--gap-scale, 1.0) * 28px)); 11252 11253--horizontal-alignment: ; --vertical-alignment: ; 11254--vertical-alignment-mobile: ; 11255" 11256 > 11257 <div class="view-product-title"> 11258 <a 11259 href="/products/apres-nova-led-lamp-mini?variant=54916494557530" 11260 class="link" 11261 >Aprés Mini Nova Led Lamp 11262 </a> 11263 </div> 11264 11265 11266 11267<div 11268 class=" 11269 group-block 11270 group-block--height-fit 11271 group-block--width-fill 11272 border-style 11273 spacing-style 11274 size-style 11275 11276 11277 11278 11279 " 11280 style=" 11281 --border-width: 1px; --border-style: none; --border-color: 11282rgb(var(--color-border-rgb) / 1.0); --border-radius: 112830px; 11284 11285 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 11286 --size-style-width: 100%;--size-style-height: fit;--size-style-height-mobile: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem; 11287 11288 " 11289 11290 data-testid="group-block" 11291><div class="group-block__media-wrapper"> 11292 11293 11294 11295 11296 11297 </div> 11298 11299 <div 11300 class=" 11301 group-block-content 11302 11303 layout-panel-flex 11304 layout-panel-flex--column 11305 mobile-column 11306 11307 11308 " 11309 11310 style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 11311 11312--gap: 12px; 11313 11314--horizontal-alignment: flex-start; --vertical-alignment: center; 11315--vertical-alignment-mobile: center; 11316" 11317 > 11318 11319 11320 11321 11322 11323 11324 11325 11326 11327 11328 <div class=" spacing-style text-block text-block--AVGNlUDRvYkRjcjVsb__text_xq7bEM h3 " style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground); --width: fit-content; --max-width: var(--max-width--body-normal); "> 11329 <p>APRES</p> 11330 </div> 11331 11332 11333 11334 11335
11336<script type="module"> 11337 class TextReadMoreWrapper extends HTMLElement { 11338 #expanded = false; 11339 #animation = null; 11340 #collapsedHeight = 0; 11341 11342 connectedCallback() { 11343 const content = this.querySelector('.text-read-more__content'); 11344 const textElement = this.querySelector('.text-read-more__text'); 11345 const button = this.querySelector('.text-read-more__button'); 11346 11347 if (!content || !textElement || !button) return; 11348 11349 // Set initial state 11350 this.dataset.expanded = 'false'; 11351 11352 // Wait for content to render - use double RAF to ensure layout is complete 11353 requestAnimationFrame(() => { 11354 requestAnimationFrame(() => { 11355 // Additional small delay to ensure fonts and styles are applied 11356 setTimeout(() => { 11357 this.#checkOverflow(content, textElement, button); 11358 }, 50); 11359 11360 // Recheck on resize 11361 const resizeObserver = new ResizeObserver(() => { 11362 if (!this.#expanded) { 11363 this.#checkOverflow(content, textElement, button); 11364 } 11365 }); 11366 resizeObserver.observe(content); 11367 11368 // Setup button click handler 11369 button.addEventListener('click', (e) => { 11370 e.preventDefault(); 11371 this.#toggle(content, textElement, button); 11372 }); 11373 }); 11374 }); 11375 } 11376 11377 #checkOverflow(content, textElement, button) { 11378 // Ensure collapsed state is applied 11379 if (!textElement.classList.contains('text-read-more__text--collapsed')) { 11380 textElement.classList.add('text-read-more__text--collapsed'); 11381 } 11382 11383 // Get collapsed height first 11384 const collapsedHeight = content.scrollHeight; 11385 this.#collapsedHeight = collapsedHeight; 11386 11387 // Temporarily remove line-clamp to measure full height 11388 textElement.classList.remove('text-read-more__text--collapsed'); 11389 11390 // Force reflow 11391 void content.offsetHeight; 11392 11393 const fullHeight = content.scrollHeight; 11394 11395 // Restore line-clamp 11396 textElement.classList.add('text-read-more__text--collapsed'); 11397 11398 // Show button if content exceeds 2 lines (with small threshold for rounding) 11399 if (fullHeight > collapsedHeight + 5) { 11400 button.removeAttribute('hidden'); 11401 } else { 11402 button.setAttribute('hidden', ''); 11403 } 11404 } 11405 11406 #toggle(content, textElement, button) { 11407 const startHeight = content.offsetHeight; 11408 let endHeight; 11409 11410 if (!this.#expanded) { 11411 // Expanding 11412 textElement.classList.remove('text-read-more__text--collapsed'); 11413 endHeight = content.scrollHeight; 11414 this.#expanded = true; 11415 } else { 11416 // Collapsing 11417 endHeight = this.#collapsedHeight; 11418 this.#expanded = false; 11419 } 11420 11421 this.dataset.expanded = this.#expanded; 11422 button.setAttribute('aria-expanded', this.#expanded); 11423 11424 // Animate 11425 content.style.overflow = 'hidden'; 11426 this.#animation?.cancel(); 11427 11428 this.#animation = content.animate( 11429 { 11430 height: [`${startHeight}px`, `${endHeight}px`], 11431 }, 11432 { 11433 duration: 300, 11434 easing: 'ease-in-out', 11435 } 11436 ); 11437 11438 this.#animation.onfinish = () => { 11439 if (this.#expanded) { 11440 content.style.removeProperty('height'); 11441 content.style.overflow = ''; 11442 } else { 11443 textElement.classList.add('text-read-more__text--collapsed'); 11444 content.style.removeProperty('height'); 11445 content.style.overflow = ''; 11446 } 11447 }; 11448 } 11449 } 11450 11451 if (!customElements.get('text-read-more-wrapper')) { 11452 customElements.define('text-read-more-wrapper', TextReadMoreWrapper); 11453 } 11454</script>
11454 11455 11456 11457 11458 11459 11460 11461 11462 11463 11464 11465 11466 11467 11468 <div class=" spacing-style text-block text-block--ATzV6QUdOODJLdlZ2T__text_xrnftG custom text-block--align-left custom-typography custom-font-size " style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --font-size: 1.25rem; --font-weight: var(--font-primary--weight);--font-family: var(--font-primary--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-normal); --letter-spacing: var(--letter-spacing--body-normal); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; "> 11469 <h1>Aprés Mini Nova Led Lamp</h1> 11470 </div> 11471 11472 11473 11474 11475
11476<script type="module"> 11477 class TextReadMoreWrapper extends HTMLElement { 11478 #expanded = false; 11479 #animation = null; 11480 #collapsedHeight = 0; 11481 11482 connectedCallback() { 11483 const content = this.querySelector('.text-read-more__content'); 11484 const textElement = this.querySelector('.text-read-more__text'); 11485 const button = this.querySelector('.text-read-more__button'); 11486 11487 if (!content || !textElement || !button) return; 11488 11489 // Set initial state 11490 this.dataset.expanded = 'false'; 11491 11492 // Wait for content to render - use double RAF to ensure layout is complete 11493 requestAnimationFrame(() => { 11494 requestAnimationFrame(() => { 11495 // Additional small delay to ensure fonts and styles are applied 11496 setTimeout(() => { 11497 this.#checkOverflow(content, textElement, button); 11498 }, 50); 11499 11500 // Recheck on resize 11501 const resizeObserver = new ResizeObserver(() => { 11502 if (!this.#expanded) { 11503 this.#checkOverflow(content, textElement, button); 11504 } 11505 }); 11506 resizeObserver.observe(content); 11507 11508 // Setup button click handler 11509 button.addEventListener('click', (e) => { 11510 e.preventDefault(); 11511 this.#toggle(content, textElement, button); 11512 }); 11513 }); 11514 }); 11515 } 11516 11517 #checkOverflow(content, textElement, button) { 11518 // Ensure collapsed state is applied 11519 if (!textElement.classList.contains('text-read-more__text--collapsed')) { 11520 textElement.classList.add('text-read-more__text--collapsed'); 11521 } 11522 11523 // Get collapsed height first 11524 const collapsedHeight = content.scrollHeight; 11525 this.#collapsedHeight = collapsedHeight; 11526 11527 // Temporarily remove line-clamp to measure full height 11528 textElement.classList.remove('text-read-more__text--collapsed'); 11529 11530 // Force reflow 11531 void content.offsetHeight; 11532 11533 const fullHeight = content.scrollHeight; 11534 11535 // Restore line-clamp 11536 textElement.classList.add('text-read-more__text--collapsed'); 11537 11538 // Show button if content exceeds 2 lines (with small threshold for rounding) 11539 if (fullHeight > collapsedHeight + 5) { 11540 button.removeAttribute('hidden'); 11541 } else { 11542 button.setAttribute('hidden', ''); 11543 } 11544 } 11545 11546 #toggle(content, textElement, button) { 11547 const startHeight = content.offsetHeight; 11548 let endHeight; 11549 11550 if (!this.#expanded) { 11551 // Expanding 11552 textElement.classList.remove('text-read-more__text--collapsed'); 11553 endHeight = content.scrollHeight; 11554 this.#expanded = true; 11555 } else { 11556 // Collapsing 11557 endHeight = this.#collapsedHeight; 11558 this.#expanded = false; 11559 } 11560 11561 this.dataset.expanded = this.#expanded; 11562 button.setAttribute('aria-expanded', this.#expanded); 11563 11564 // Animate 11565 content.style.overflow = 'hidden'; 11566 this.#animation?.cancel(); 11567 11568 this.#animation = content.animate( 11569 { 11570 height: [`${startHeight}px`, `${endHeight}px`], 11571 }, 11572 { 11573 duration: 300, 11574 easing: 'ease-in-out', 11575 } 11576 ); 11577 11578 this.#animation.onfinish = () => { 11579 if (this.#expanded) { 11580 content.style.removeProperty('height'); 11581 content.style.overflow = ''; 11582 } else { 11583 textElement.classList.add('text-read-more__text--collapsed'); 11584 content.style.removeProperty('height'); 11585 content.style.overflow = ''; 11586 } 11587 }; 11588 } 11589 } 11590 11591 if (!customElements.get('text-read-more-wrapper')) { 11592 customElements.define('text-read-more-wrapper', TextReadMoreWrapper); 11593 } 11594</script>
11594 11595 11596 11597 11598 11599 11600 11601<product-sku-component 11602 class="text-block text-block--align-left text-left paragraph spacing-style" 11603 data-product-id="11020550406490" 11604 style=" 11605 11606 display: block; 11607 11608 11609--color: var(--color-foreground); 11610 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 11611 --width: 100%; 11612 " 11613 11614> 11615 <div ref="skuContainer"> 11616 <span 11617 class="sku" 11618 ref="sku" 11619 data-testid="product-sku" 11620 >AP-NOVA-MINI-B</span> 11621</div> 11622 11623</product-sku-component> 11624 11625 11626 11627 11628 11629<div 11630 class=" 11631 group-block 11632 group-block--height-fit 11633 group-block--width-fill 11634 border-style 11635 spacing-style 11636 size-style 11637 11638 11639 11640 11641 " 11642 style=" 11643 --border-width: 1px; --border-style: none; --border-color: 11644rgb(var(--color-border-rgb) / 1.0); --border-radius: 116450px; 11646 11647 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 11648 --size-style-width: 100%;--size-style-height: fit;--size-style-height-mobile: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem; 11649 11650 " 11651 11652 data-testid="group-block" 11653><div class="group-block__media-wrapper"> 11654 11655 11656 11657 11658 11659 </div> 11660 11661 <div 11662 class=" 11663 group-block-content 11664 11665 layout-panel-flex 11666 layout-panel-flex--row 11667 mobile-column 11668 11669 11670 " 11671 11672 style="--flex-direction: row; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 11673 11674--gap: 12px; 11675 11676--horizontal-alignment: flex-start; --vertical-alignment: center; 11677--vertical-alignment-mobile: center; 11678" 11679 > 11680 11681 11682 11683 11684 11685 11686 11687 11688 11689 11690 11691
11692<script type="module"> 11693 class TextReadMoreWrapper extends HTMLElement { 11694 #expanded = false; 11695 #animation = null; 11696 #collapsedHeight = 0; 11697 11698 connectedCallback() { 11699 const content = this.querySelector('.text-read-more__content'); 11700 const textElement = this.querySelector('.text-read-more__text'); 11701 const button = this.querySelector('.text-read-more__button'); 11702 11703 if (!content || !textElement || !button) return; 11704 11705 // Set initial state 11706 this.dataset.expanded = 'false'; 11707 11708 // Wait for content to render - use double RAF to ensure layout is complete 11709 requestAnimationFrame(() => { 11710 requestAnimationFrame(() => { 11711 // Additional small delay to ensure fonts and styles are applied 11712 setTimeout(() => { 11713 this.#checkOverflow(content, textElement, button); 11714 }, 50); 11715 11716 // Recheck on resize 11717 const resizeObserver = new ResizeObserver(() => { 11718 if (!this.#expanded) { 11719 this.#checkOverflow(content, textElement, button); 11720 } 11721 }); 11722 resizeObserver.observe(content); 11723 11724 // Setup button click handler 11725 button.addEventListener('click', (e) => { 11726 e.preventDefault(); 11727 this.#toggle(content, textElement, button); 11728 }); 11729 }); 11730 }); 11731 } 11732 11733 #checkOverflow(content, textElement, button) { 11734 // Ensure collapsed state is applied 11735 if (!textElement.classList.contains('text-read-more__text--collapsed')) { 11736 textElement.classList.add('text-read-more__text--collapsed'); 11737 } 11738 11739 // Get collapsed height first 11740 const collapsedHeight = content.scrollHeight; 11741 this.#collapsedHeight = collapsedHeight; 11742 11743 // Temporarily remove line-clamp to measure full height 11744 textElement.classList.remove('text-read-more__text--collapsed'); 11745 11746 // Force reflow 11747 void content.offsetHeight; 11748 11749 const fullHeight = content.scrollHeight; 11750 11751 // Restore line-clamp 11752 textElement.classList.add('text-read-more__text--collapsed'); 11753 11754 // Show button if content exceeds 2 lines (with small threshold for rounding) 11755 if (fullHeight > collapsedHeight + 5) { 11756 button.removeAttribute('hidden'); 11757 } else { 11758 button.setAttribute('hidden', ''); 11759 } 11760 } 11761 11762 #toggle(content, textElement, button) { 11763 const startHeight = content.offsetHeight; 11764 let endHeight; 11765 11766 if (!this.#expanded) { 11767 // Expanding 11768 textElement.classList.remove('text-read-more__text--collapsed'); 11769 endHeight = content.scrollHeight; 11770 this.#expanded = true; 11771 } else { 11772 // Collapsing 11773 endHeight = this.#collapsedHeight; 11774 this.#expanded = false; 11775 } 11776 11777 this.dataset.expanded = this.#expanded; 11778 button.setAttribute('aria-expanded', this.#expanded); 11779 11780 // Animate 11781 content.style.overflow = 'hidden'; 11782 this.#animation?.cancel(); 11783 11784 this.#animation = content.animate( 11785 { 11786 height: [`${startHeight}px`, `${endHeight}px`], 11787 }, 11788 { 11789 duration: 300, 11790 easing: 'ease-in-out', 11791 } 11792 ); 11793 11794 this.#animation.onfinish = () => { 11795 if (this.#expanded) { 11796 content.style.removeProperty('height'); 11797 content.style.overflow = ''; 11798 } else { 11799 textElement.classList.add('text-read-more__text--collapsed'); 11800 content.style.removeProperty('height'); 11801 content.style.overflow = ''; 11802 } 11803 }; 11804 } 11805 } 11806 11807 if (!customElements.get('text-read-more-wrapper')) { 11808 customElements.define('text-read-more-wrapper', TextReadMoreWrapper); 11809 } 11810</script>
11810 11811 11812 11813 11814 11815 11816 11817 11818 11819 11820 11821 11822 11823 11824 11825
11826<script type="module"> 11827 class TextReadMoreWrapper extends HTMLElement { 11828 #expanded = false; 11829 #animation = null; 11830 #collapsedHeight = 0; 11831 11832 connectedCallback() { 11833 const content = this.querySelector('.text-read-more__content'); 11834 const textElement = this.querySelector('.text-read-more__text'); 11835 const button = this.querySelector('.text-read-more__button'); 11836 11837 if (!content || !textElement || !button) return; 11838 11839 // Set initial state 11840 this.dataset.expanded = 'false'; 11841 11842 // Wait for content to render - use double RAF to ensure layout is complete 11843 requestAnimationFrame(() => { 11844 requestAnimationFrame(() => { 11845 // Additional small delay to ensure fonts and styles are applied 11846 setTimeout(() => { 11847 this.#checkOverflow(content, textElement, button); 11848 }, 50); 11849 11850 // Recheck on resize 11851 const resizeObserver = new ResizeObserver(() => { 11852 if (!this.#expanded) { 11853 this.#checkOverflow(content, textElement, button); 11854 } 11855 }); 11856 resizeObserver.observe(content); 11857 11858 // Setup button click handler 11859 button.addEventListener('click', (e) => { 11860 e.preventDefault(); 11861 this.#toggle(content, textElement, button); 11862 }); 11863 }); 11864 }); 11865 } 11866 11867 #checkOverflow(content, textElement, button) { 11868 // Ensure collapsed state is applied 11869 if (!textElement.classList.contains('text-read-more__text--collapsed')) { 11870 textElement.classList.add('text-read-more__text--collapsed'); 11871 } 11872 11873 // Get collapsed height first 11874 const collapsedHeight = content.scrollHeight; 11875 this.#collapsedHeight = collapsedHeight; 11876 11877 // Temporarily remove line-clamp to measure full height 11878 textElement.classList.remove('text-read-more__text--collapsed'); 11879 11880 // Force reflow 11881 void content.offsetHeight; 11882 11883 const fullHeight = content.scrollHeight; 11884 11885 // Restore line-clamp 11886 textElement.classList.add('text-read-more__text--collapsed'); 11887 11888 // Show button if content exceeds 2 lines (with small threshold for rounding) 11889 if (fullHeight > collapsedHeight + 5) { 11890 button.removeAttribute('hidden'); 11891 } else { 11892 button.setAttribute('hidden', ''); 11893 } 11894 } 11895 11896 #toggle(content, textElement, button) { 11897 const startHeight = content.offsetHeight; 11898 let endHeight; 11899 11900 if (!this.#expanded) { 11901 // Expanding 11902 textElement.classList.remove('text-read-more__text--collapsed'); 11903 endHeight = content.scrollHeight; 11904 this.#expanded = true; 11905 } else { 11906 // Collapsing 11907 endHeight = this.#collapsedHeight; 11908 this.#expanded = false; 11909 } 11910 11911 this.dataset.expanded = this.#expanded; 11912 button.setAttribute('aria-expanded', this.#expanded); 11913 11914 // Animate 11915 content.style.overflow = 'hidden'; 11916 this.#animation?.cancel(); 11917 11918 this.#animation = content.animate( 11919 { 11920 height: [`${startHeight}px`, `${endHeight}px`], 11921 }, 11922 { 11923 duration: 300, 11924 easing: 'ease-in-out', 11925 } 11926 ); 11927 11928 this.#animation.onfinish = () => { 11929 if (this.#expanded) { 11930 content.style.removeProperty('height'); 11931 content.style.overflow = ''; 11932 } else { 11933 textElement.classList.add('text-read-more__text--collapsed'); 11934 content.style.removeProperty('height'); 11935 content.style.overflow = ''; 11936 } 11937 }; 11938 } 11939 } 11940 11941 if (!customElements.get('text-read-more-wrapper')) { 11942 customElements.define('text-read-more-wrapper', TextReadMoreWrapper); 11943 } 11944</script>
11944 11945 11946 11947 11948 11949</div> 11950</div> 11951 11952 11953
11954<script type="module"> 11955 (function() { 11956 // Only run if Intersection Observer is supported 11957 if (typeof IntersectionObserver === 'undefined') { 11958 // Fallback: show all animated content immediately 11959 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 11960 el.classList.add('group-block-content--in-view'); 11961 }); 11962 return; 11963 } 11964 11965 // Respect reduced motion preference 11966 const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches; 11967 if (prefersReducedMotion) { 11968 // Show all animated content immediately without animation 11969 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 11970 el.style.opacity = '1'; 11971 el.style.transform = 'none'; 11972 }); 11973 return; 11974 } 11975 11976 // Set up Intersection Observer for scroll-triggered animations 11977 const observerOptions = { 11978 root: null, 11979 rootMargin: '0px 0px -10% 0px', // Trigger when element is 10% from bottom of viewport 11980 threshold: 0.1 // Trigger when 10% of element is visible 11981 }; 11982 11983 const observer = new IntersectionObserver((entries) => { 11984 entries.forEach(entry => { 11985 if (entry.isIntersecting) { 11986 const contentElement = entry.target; 11987 // Add the in-view class to trigger animation 11988 contentElement.classList.add('group-block-content--in-view'); 11989 // Unobserve after animation is triggered (only animate once) 11990 observer.unobserve(contentElement); 11991 } 11992 }); 11993 }, observerOptions); 11994 11995 // Observe all group blocks with animations 11996 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 11997 observer.observe(el); 11998 }); 11999 })(); 12000</script>
12000 12001 12002 12003 12004 12005 12006 12007<product-price 12008 class="text-block text-block--align-left custom-typography custom-font-size custom-color text-left custom spacing-style" 12009 data-block-id="Ad0lGM3ZHLzB0WFpHa__price_tVjtKg" 12010 data-product-id="11020550406490" 12011 style=" 12012 12013--color: var(--color-foreground);--font-size: 1.25rem; --font-weight: var(--font-subheading--weight);--font-family: var(--font-subheading--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-normal); --letter-spacing: var(--letter-spacing--body-normal); 12014 --padding-block-start: 4px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 12015 --width: 100%; 12016 " 12017 12018> 12019 <div ref="priceContainer"> 12020 12021 12022 12023 12024 12025 <span class="price">£99.95</span> 12026 12027 12028 12029 12030</div> 12031 12032 12033</product-price> 12034 12035 12036 12037 12038 12039 12040 12041</div> 12042</div> 12043 12044 12045
12046<script type="module"> 12047 (function() { 12048 // Only run if Intersection Observer is supported 12049 if (typeof IntersectionObserver === 'undefined') { 12050 // Fallback: show all animated content immediately 12051 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 12052 el.classList.add('group-block-content--in-view'); 12053 }); 12054 return; 12055 } 12056 12057 // Respect reduced motion preference 12058 const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches; 12059 if (prefersReducedMotion) { 12060 // Show all animated content immediately without animation 12061 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 12062 el.style.opacity = '1'; 12063 el.style.transform = 'none'; 12064 }); 12065 return; 12066 } 12067 12068 // Set up Intersection Observer for scroll-triggered animations 12069 const observerOptions = { 12070 root: null, 12071 rootMargin: '0px 0px -10% 0px', // Trigger when element is 10% from bottom of viewport 12072 threshold: 0.1 // Trigger when 10% of element is visible 12073 }; 12074 12075 const observer = new IntersectionObserver((entries) => { 12076 entries.forEach(entry => { 12077 if (entry.isIntersecting) { 12078 const contentElement = entry.target; 12079 // Add the in-view class to trigger animation 12080 contentElement.classList.add('group-block-content--in-view'); 12081 // Unobserve after animation is triggered (only animate once) 12082 observer.unobserve(contentElement); 12083 } 12084 }); 12085 }, observerOptions); 12086 12087 // Observe all group blocks with animations 12088 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 12089 observer.observe(el); 12090 }); 12091 })(); 12092</script>
12092 12093 12094 12095 12096 12097 12098 12099 12100 12101 12102 12103 <variant-picker 12104 class="variant-picker spacing-style variant-picker--left" 12105 style="--color-strikethrough-mix: #000; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;" 12106 data-section-id="template--28213213725018__main" 12107 data-product-id="11020550406490" 12108 data-block-id="AVGlhNWZBMTQ1RGFkL__variant_picker_R3rGDr" 12109 data-product-url="/products/apres-nova-led-lamp-mini" 12110 ref="mainVariantPicker" 12111 12112 data-template-product-match="true" 12113 12114 12115 12116 12117 > 12118 <form class="variant-picker__form"><fieldset 12119 class="variant-option variant-option--buttons variant-option--default-width-buttons" 12120 data-fieldset-index="0" 12121 ref="fieldsets[]" 12122 12123 > 12124 <legend> 12125 Choose an option 12126 </legend> 12127<label 12128 class="variant-option__button-label" 12129 > 12130 12131 <input 12132 type="radio" 12133 name="Colour-AVGlhNWZBMTQ1RGFkL__variant_picker_R3rGDr-11020550406490" 12134 value="Black" 12135 aria-label="Black" 12136 12137 data-previous-checked="false" 12138 data-fieldset-index="0" 12139 data-input-index="0" 12140 data-input-id="1-0" 12141 data-option-value-id="9090499379546" 12142 data-option-available="true" 12143 data-connected-product-url="" 12144 12145 data-variant-id="54916494557530" 12146 12147 12148 data-current-checked="true" 12149 checked 12150 12151 > 12152 12153 12154 <span 12155 class="variant-option__button-label__pill" 12156 data-key="variant-option-pill" 12157 ></span> 12158 12159 <span 12160 class="variant-option__button-label__text" 12161 data-key="variant-option-text" 12162 >Black</span> 12163 12164 12165 12166 </label> 12167<label 12168 class="variant-option__button-label" 12169 > 12170 12171 <input 12172 type="radio" 12173 name="Colour-AVGlhNWZBMTQ1RGFkL__variant_picker_R3rGDr-11020550406490" 12174 value="White" 12175 aria-label="White" 12176 12177 data-previous-checked="false" 12178 data-fieldset-index="0" 12179 data-input-index="1" 12180 data-input-id="1-1" 12181 data-option-value-id="9090499412314" 12182 data-option-available="true" 12183 data-connected-product-url="" 12184 12185 data-variant-id="54916494590298" 12186 12187 12188 data-current-checked="false" 12189 12190 > 12191 12192 12193 <span 12194 class="variant-option__button-label__pill" 12195 data-key="variant-option-pill" 12196 ></span> 12197 12198 <span 12199 class="variant-option__button-label__text" 12200 data-key="variant-option-text" 12201 >White</span> 12202 12203 12204 12205 </label> 12206 </fieldset>
12206<script type="application/json"> 12207 {"id":54916494557530,"title":"Black","option1":"Black","option2":null,"option3":null,"sku":"AP-NOVA-MINI-B","requires_shipping":true,"taxable":true,"featured_image":{"id":75001196314970,"product_id":11020550406490,"position":1,"created_at":"2026-10-06T16:12:21+01:00","updated_at":"2026-10-06T16:12:24+01:00","alt":null,"width":2000,"height":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544","variant_ids":[54916494557530]},"available":true,"name":"Aprés Mini Nova Led Lamp - Black","public_title":"Black","options":["Black"],"price":9995,"weight":1100,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":62492790292826,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}} 12208 </script>
12208 12209 </form> 12210 </variant-picker> 12211 12212 12213 12214 12215 12216 12217 12218<div id="shopify-block-Acytuc1FnclJvNS9lO__aov_ai_bundle_offer_volume_hQVjJN" class="shopify-block shopify-app-block"><div class="Avada-Bundle-Offer__Volume"></div> 12219 12220</div> 12221 12222 12223<span 12224 class="buy-buttons-block buy-buttons-block--AditMd2ZRT2V2WUg3c__buy_buttons_eYQEYi" 12225 12226><product-form-component 12227 data-section-id="template--28213213725018__main" 12228 data-product-id="11020550406490" 12229 data-product-url="/products/apres-nova-led-lamp-mini" 12230 on:submit="/handleSubmit" 12231 data-quantity-default="1" 12232 data-quantity-error-max="This item has a maximum of {{ maximum }}" 12233 > 12234 <div 12235 class="visually-hidden" 12236 aria-live="assertive" 12237 role="status" 12238 aria-atomic="true" 12239 ref="liveRegion" 12240 ></div><form method="post" action="/cart/add" id="BuyButtons-ProductForm-template--28213213725018__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 12241 type="hidden" 12242 name="id" 12243 ref="variantId" 12244 value="54916494557530" 12245 ><div 12246 class="product-form-buttons spacing-style product-form-buttons--stacked" 12247 style="--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;" 12248 ref="productFormButtons" 12249 > 12250 12251 12252 12253 12254<div 12255 class="quantity-selector-wrapper" 12256 ref="quantitySelectorWrapper" 12257> 12258 <quantity-selector-component 12259 class="quantity-selector" 12260 data-variant-id="54916494557530" 12261 12262ref="quantitySelector" 12263 12264 style="--quantity-border-radius-override: 15px;" 12265 > 12266 <button 12267 class="button quantity-minus button-unstyled" 12268 type="button" 12269 name="minus" 12270 on:click="/decreaseQuantity" 12271 ref="minusButton" 12272 12273 > 12274 <span class="visually-hidden">Decrease quantity</span 12275 ><span class="svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 12276 <path d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 12277</svg> 12278</span> 12279 </button> 12280 <input 12281 type="number" 12282 name="quantity" 12283 value="1" 12284 data-cart-quantity="0" 12285 min="1" 12286 data-min="1" 12287 on:blur="/setQuantity" 12288 on:focus="/selectInputValue" 12289 ref="quantityInput" 12290 aria-label="Quantity" 12291 12292 12293 step="1" 12294 12295 > 12296 <button 12297 class="button quantity-plus button-unstyled" 12298 type="button" 12299 name="plus" 12300 on:click="/increaseQuantity" 12301 ref="plusButton" 12302 12303 > 12304 <span class="visually-hidden">Increase quantity</span 12305 ><span class="svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 12306 <path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 12307 <path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 12308</svg> 12309</span> 12310 </button> 12311 </quantity-selector-component></div> 12312 12313 12314 12315 12316 12317 12318<span 12319 class="product-form-text__error hidden" 12320 ref="addToCartTextError" 12321 > 12322 <span class="svg-wrapper product-form-icon--error"><svg class="icon icon-error" viewBox="0 0 13 13"> 12323 <circle cx="6.5" cy="6.5" r="5.5" stroke="#fff" stroke-width="var(--icon-stroke-width)"/> 12324 <circle cx="6.5" cy="6.5" r="5.5" fill="#EB001B" stroke="#EB001B" stroke-width=".7"/> 12325 <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"/> 12326 <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"/> 12327</svg> 12328</span> 12329 </span> 12330 12331 12332 12333 12334<span 12335 12336 style="--add-to-cart-font-case: ;--button-border-radius-override: 15px;" 12337> 12338 <add-to-cart-component 12339 ref="addToCartButtonContainer" 12340 data-product-variant-media="//www.tnbl.co.uk/cdn/shop/files/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544&width=100" 12341 data-add-to-cart-animation="true" 12342> 12343 <button 12344 12345 id="BuyButtons-ProductSubmitButton-AbHkydldiZHgwaUs4N__add-to-cart" 12346 12347 type="submit" 12348 name="add" 12349 ref="addToCartButton" 12350 on:click="/handleClick" 12351 class="button add-to-cart-button button" 12352 12353 data-testid="standalone-add-to-cart" 12354 12355 12356 > 12357 <span 12358 class="add-to-cart-text" 12359 > 12360
12361 <span 12362 aria-hidden="true" 12363 class="svg-wrapper add-to-cart-icon" 12364 ><svg 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> 12365</span> 12366 12367 <span class="add-to-cart-text__content"> 12368 <span> 12369 <span>Add to cart</span> 12370 </span> 12371 </span> 12372 </span> 12373 12374 <span class="add-to-cart__added"> 12375 <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"> 12376 <g class="check"> 12377 <circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 12378 <path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 12379 </g> 12380 <g class="burst"> 12381 <g style="--index: 0;"> 12382 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 12383 </g> 12384 <g style="--index: 1;"> 12385 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 12386 </g> 12387 <g style="--index: 2;"> 12388 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 12389 </g> 12390 <g style="--index: 3;"> 12391 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 12392 </g> 12393 <g style="--index: 4;"> 12394 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 12395 </g> 12396 <g style="--index: 5;"> 12397 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 12398 </g> 12399 <g style="--index: 6;"> 12400 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 12401 </g> 12402 <g style="--index: 7;"> 12403 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 12404 </g> 12405 </g> 12406</svg> 12407</span> 12408 </span> 12409 </button> 12410</add-to-cart-component> 12411 12412 12413 12414</span> 12415 12416 12417 12418 12419 12420 </div><input type="hidden" name="product-id" value="11020550406490" /><input type="hidden" name="section-id" value="template--28213213725018__main" /></form></product-form-component></span> 12421 12422 12423 12424 12425 12426 12427<div id="shopify-block-ASVV5YlBRMThqYnBSZ__swishlist_simple_wishlist_wishlist_product_button_cXaE7F" class="shopify-block shopify-app-block"><style> .st-wishlist-button { display: block; } </style> <div > <button aria-label="Add to wishlist" title="Add to wishlist" class="st-wishlist-button" data-handle="apres-nova-led-lamp-mini" data-product-id="11020550406490" type="button" data-type="details" data-swishlist-pdp-extension="1" ></button> </div> </div> 12428 12429 12430<div 12431 class=" 12432 group-block 12433 group-block--height-fit 12434 group-block--width-fill 12435 border-style 12436 spacing-style 12437 size-style 12438 12439 color-scheme-3 12440 12441 12442 " 12443 style=" 12444 --border-width: 1px; --border-style: none; --border-color: 12445rgb(var(--color-border-rgb) / 1.0); --border-radius: 124460px; 12447 12448 --padding-block-start: 15px;--padding-block-end: 15px;--padding-inline-start: 0px;--padding-inline-end: 0px; 12449 --size-style-width: 100%;--size-style-height: fit;--size-style-height-mobile: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem; 12450 12451 " 12452 12453 data-testid="group-block" 12454><div class="group-block__media-wrapper"> 12455 12456 12457 12458 12459 12460 </div> 12461 12462 <div 12463 class=" 12464 group-block-content 12465 12466 layout-panel-flex 12467 layout-panel-flex--column 12468 mobile-column 12469 12470 12471 " 12472 12473 style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 12474 12475--gap: 12px; 12476 12477--horizontal-alignment: flex-start; --vertical-alignment: center; 12478--vertical-alignment-mobile: center; 12479" 12480 > 12481 12482 12483 12484 12485 12486 12487 12488 12489 12490 12491 <rte-formatter class=" spacing-style text-block text-block--AUEFZaW5FYWxqcldPK__text_jri9mf rte text-block--align-center text-block--full-width rte " 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-none); --text-align: center; "> 12492 <p>Free UK mainland delivery on orders over £60</p> 12493 </rte-formatter> 12494 12495 12496 12497 12498
12499<script type="module"> 12500 class TextReadMoreWrapper extends HTMLElement { 12501 #expanded = false; 12502 #animation = null; 12503 #collapsedHeight = 0; 12504 12505 connectedCallback() { 12506 const content = this.querySelector('.text-read-more__content'); 12507 const textElement = this.querySelector('.text-read-more__text'); 12508 const button = this.querySelector('.text-read-more__button'); 12509 12510 if (!content || !textElement || !button) return; 12511 12512 // Set initial state 12513 this.dataset.expanded = 'false'; 12514 12515 // Wait for content to render - use double RAF to ensure layout is complete 12516 requestAnimationFrame(() => { 12517 requestAnimationFrame(() => { 12518 // Additional small delay to ensure fonts and styles are applied 12519 setTimeout(() => { 12520 this.#checkOverflow(content, textElement, button); 12521 }, 50); 12522 12523 // Recheck on resize 12524 const resizeObserver = new ResizeObserver(() => { 12525 if (!this.#expanded) { 12526 this.#checkOverflow(content, textElement, button); 12527 } 12528 }); 12529 resizeObserver.observe(content); 12530 12531 // Setup button click handler 12532 button.addEventListener('click', (e) => { 12533 e.preventDefault(); 12534 this.#toggle(content, textElement, button); 12535 }); 12536 }); 12537 }); 12538 } 12539 12540 #checkOverflow(content, textElement, button) { 12541 // Ensure collapsed state is applied 12542 if (!textElement.classList.contains('text-read-more__text--collapsed')) { 12543 textElement.classList.add('text-read-more__text--collapsed'); 12544 } 12545 12546 // Get collapsed height first 12547 const collapsedHeight = content.scrollHeight; 12548 this.#collapsedHeight = collapsedHeight; 12549 12550 // Temporarily remove line-clamp to measure full height 12551 textElement.classList.remove('text-read-more__text--collapsed'); 12552 12553 // Force reflow 12554 void content.offsetHeight; 12555 12556 const fullHeight = content.scrollHeight; 12557 12558 // Restore line-clamp 12559 textElement.classList.add('text-read-more__text--collapsed'); 12560 12561 // Show button if content exceeds 2 lines (with small threshold for rounding) 12562 if (fullHeight > collapsedHeight + 5) { 12563 button.removeAttribute('hidden'); 12564 } else { 12565 button.setAttribute('hidden', ''); 12566 } 12567 } 12568 12569 #toggle(content, textElement, button) { 12570 const startHeight = content.offsetHeight; 12571 let endHeight; 12572 12573 if (!this.#expanded) { 12574 // Expanding 12575 textElement.classList.remove('text-read-more__text--collapsed'); 12576 endHeight = content.scrollHeight; 12577 this.#expanded = true; 12578 } else { 12579 // Collapsing 12580 endHeight = this.#collapsedHeight; 12581 this.#expanded = false; 12582 } 12583 12584 this.dataset.expanded = this.#expanded; 12585 button.setAttribute('aria-expanded', this.#expanded); 12586 12587 // Animate 12588 content.style.overflow = 'hidden'; 12589 this.#animation?.cancel(); 12590 12591 this.#animation = content.animate( 12592 { 12593 height: [`${startHeight}px`, `${endHeight}px`], 12594 }, 12595 { 12596 duration: 300, 12597 easing: 'ease-in-out', 12598 } 12599 ); 12600 12601 this.#animation.onfinish = () => { 12602 if (this.#expanded) { 12603 content.style.removeProperty('height'); 12604 content.style.overflow = ''; 12605 } else { 12606 textElement.classList.add('text-read-more__text--collapsed'); 12607 content.style.removeProperty('height'); 12608 content.style.overflow = ''; 12609 } 12610 }; 12611 } 12612 } 12613 12614 if (!customElements.get('text-read-more-wrapper')) { 12615 customElements.define('text-read-more-wrapper', TextReadMoreWrapper); 12616 } 12617</script>
12617 12618 12619 12620 12621 12622</div> 12623</div> 12624 12625 12626
12627<script type="module"> 12628 (function() { 12629 // Only run if Intersection Observer is supported 12630 if (typeof IntersectionObserver === 'undefined') { 12631 // Fallback: show all animated content immediately 12632 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 12633 el.classList.add('group-block-content--in-view'); 12634 }); 12635 return; 12636 } 12637 12638 // Respect reduced motion preference 12639 const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches; 12640 if (prefersReducedMotion) { 12641 // Show all animated content immediately without animation 12642 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 12643 el.style.opacity = '1'; 12644 el.style.transform = 'none'; 12645 }); 12646 return; 12647 } 12648 12649 // Set up Intersection Observer for scroll-triggered animations 12650 const observerOptions = { 12651 root: null, 12652 rootMargin: '0px 0px -10% 0px', // Trigger when element is 10% from bottom of viewport 12653 threshold: 0.1 // Trigger when 10% of element is visible 12654 }; 12655 12656 const observer = new IntersectionObserver((entries) => { 12657 entries.forEach(entry => { 12658 if (entry.isIntersecting) { 12659 const contentElement = entry.target; 12660 // Add the in-view class to trigger animation 12661 contentElement.classList.add('group-block-content--in-view'); 12662 // Unobserve after animation is triggered (only animate once) 12663 observer.unobserve(contentElement); 12664 } 12665 }); 12666 }, observerOptions); 12667 12668 // Observe all group blocks with animations 12669 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 12670 observer.observe(el); 12671 }); 12672 })(); 12673</script>
12673 12674 12675 12676 12677<div id="shopify-block-ARjdIMTNldEdxcmZUT__countdown_sami_app_block_countdown_Ld94zU" class="shopify-block shopify-app-block"><div><div class="samitaPL-app-extension"><div class="samita-countdown" data-id="11486" data-type="delivery"></div> 12678</div></div> 12679 12680</div> 12681 12682 12683<div 12684 class="accordion accordion--AZDBLSkdBWTc3dHBzV__accordion_fqgKtV accordion--caret border-style spacing-style accordion--dividers" 12685 style=" 12686 --summary-font-family: var(--font-h6--family); 12687 --summary-font-style: var(--font-h6--style); 12688 --summary-font-weight: var(--font-h6--weight); 12689 --summary-font-size: var(--font-h6--size); 12690 --summary-font-line-height: var(--font-h6--line-height); 12691 --summary-font-case: var(--font-h6--case); 12692 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 12693 --border-width: 1px; --border-style: none; --border-color: 12694rgb(var(--color-border-rgb) / 1.0); --border-radius: 126950px; 12696 12697 " 12698 12699> 12700 12701 12702 12703<accordion-custom 12704 12705> 12706 <details 12707 class="details" 12708 data-testid="accordion-details" 12709 12710 12711 > 12712 <summary class="details__header"> 12713 12714 12715 12716 <img src="//www.tnbl.co.uk/cdn/shop/files/Details_Icon_f9f616a1-4c84-4006-ae67-84bed65b54f0.svg?v=1766572932&width=1200" alt="" srcset="//www.tnbl.co.uk/cdn/shop/files/Details_Icon_f9f616a1-4c84-4006-ae67-84bed65b54f0.svg?v=1766572932&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Details_Icon_f9f616a1-4c84-4006-ae67-84bed65b54f0.svg?v=1766572932&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Details_Icon_f9f616a1-4c84-4006-ae67-84bed65b54f0.svg?v=1766572932&width=832 832w, //www.tnbl.co.uk/cdn/shop/files/Details_Icon_f9f616a1-4c84-4006-ae67-84bed65b54f0.svg?v=1766572932&width=1200 1200w" width="1200" height="1200" class="details__icon" style="width: 20px;" sizes="(min-width: 1024px) 1024px, 100vw, 100vw"> 12717 12718 DETAILS 12719 <span class="svg-wrapper icon-caret icon-animated"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 12720 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 12721</svg> 12722</span> 12723 <span class="svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 12724 <path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 12725 <path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 12726</svg> 12727</span> 12728 </summary> 12729 12730 <div class="details-content"> 12731 12732 12733 12734 12735 12736 12737 12738 12739 12740 12741 <rte-formatter class=" spacing-style text-block text-block--AUi85SWtWVTZjZTVJY__text_A6VJMW rte text-block--align-left rte " 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; "> 12742 <p><strong>High Standards. Mini Nova.</strong></p> 12743<p>The Mini Nova LED Lamp brings professional Aprés performance to a compact, salon-ready design at $99.99. Built with 45 premium dual-wavelength LEDs, it delivers broad 365nm + 405nm coverage to support fast, even curing across compatible gel systems.</p> 12744<p>Choose from 30-, 60-, or 90-second curing times, or activate Low Heat mode to reduce power output by 65% and help minimize heat spikes. Automatic hand sensing starts a 60-second cure as soon as a hand enters the lamp, keeping services moving with one less button to press.</p> 12745<p>A removable gold-colored metal base simplifies cleaning, while the UV-coated exterior resists scratches and acetone exposure from everyday salon use. Compact, lightweight, and equipped with a built-in handle, Mini Nova fits naturally into first stations, and growing salons.</p> 12746<p><strong>Professional essentials. A more attainable investment.<br><br><em>For Professional Use Only<br><br></em></strong></p> 12747<h3 class="text-[20px] leading-[26px] uppercase !font-elza !text-left !text-base !normal-case">Benefits</h3> 12748<div><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewbox="0 0 22 22" fill="none" class="w-3 h-3"><path d="M21.1025 10C21.6067 10.0513 22 10.4774 22 10.9951C22 11.5128 21.6067 11.9389 21.1025 11.9902L21 11.9951H1C0.447715 11.9951 0 11.5474 0 10.9951C0 10.4428 0.447715 9.99512 1 9.99512H21L21.1025 10Z" fill="black"></path></svg></div> 12749<div class="overflow-hidden mb-[20px]"> 12750<div> 12751<div class="prose prose-sm md:prose-base text-[#191919] font-elza"> 12752<p>
12752Â </p> 12753<ul> 12754<li> 12755<strong>Professional dual-wavelength curing:</strong> 45 premium LEDs deliver broad 365nm + 405nm coverage for fast, even curing across compatible gel systems.</li> 12756<li> 12757<strong>Three standard cure times:</strong> Choose from 30-, 60-, or 90-second settings to accommodate different services and formulas.</li> 12758<li> 12759<strong>Low Heat comfort:</strong> L30, L60, and L90 modes reduce power output by 65% to help minimize heat spikes.</li> 12760<li> 12761<strong>Touch-free efficiency:</strong> Automatic hand sensing begins a 60-second cure without requiring a button press.</li> 12762<li> 12763<strong>Built for salon realities:</strong> The UV-coated exterior resists scratches and acetone exposure during everyday professional use.</li> 12764<li> 12765<strong>Compact station footprint:</strong> A smaller, lightweight design leaves more room for the tools and products your services require.</li> 12766<li> 12767<strong>Steady corded performance:</strong> Consistent 36W output without pausing to recharge.<br><br> 12768<h3 class="text-[20px] leading-[26px] uppercase !font-elza !text-left !text-base !normal-case">Applications</h3> 12769<div><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewbox="0 0 22 22" fill="none" class="w-3 h-3"><path d="M21.1025 10C21.6067 10.0513 22 10.4774 22 10.9951C22 11.5128 21.6067 11.9389 21.1025 11.9902L21 11.9951H1C0.447715 11.9951 0 11.5474 0 10.9951C0 10.4428 0.447715 9.99512 1 9.99512H21L21.1025 10Z" fill="black"></path></svg></div> 12770<div class="overflow-hidden mb-[20px]"> 12771<div> 12772<div class="prose prose-sm md:prose-base text-[#191919] font-elza"> 12773<p>Â </p> 12774<p><strong>STANDARD CURING</strong></p> 12775<ol> 12776<li>Connect the Mini Nova to the included power adapter and switch on the lamp.</li> 12777<li>Place the client's hand fully inside the lamp, following the hand-placement guide for even light exposure.</li> 12778<li>Select the appropriate 30-, 60-, or 90-second timer according to the gel product's curing instructions.</li> 12779<li>Remove the hand once the curing cycle is complete.</li> 12780</ol> 12781<p><strong>AUTOMATIC SENSING MODE</strong></p> 12782<ol> 12783<li>Insert the hand fully into the lamp.</li> 12784<li>The sensor will automatically begin a 60-second curing cycle.</li> 12785<li>Remove the hand when the cycle is complete.</li> 12786</ol> 12787<p><strong>LOW HEAT MODE</strong></p> 12788<ol> 12789<li>Select LOW HEAT with the desired 30-, 60-, or 90-second timer.</li> 12790<li>The display will show L30, L60, or L90.</li> 12791<li>Low Heat mode reduces power output by 65% to help minimize heat spikes during curing.</li> 12792</ol> 12793<p><strong>IMPORTANT:</strong> Low Heat mode is designed to improve client comfort. Always follow the cure time specified for the gel product being used.<br><br></p> 12794<p>Â </p> 12795<h3 class="text-[20px] leading-[26px] uppercase !font-elza !text-left !text-base !normal-case">Recommendations</h3> 12796<div><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewbox="0 0 22 22" fill="none" class="w-3 h-3"><path d="M21.1025 10C21.6067 10.0513 22 10.4774 22 10.9951C22 11.5128 21.6067 11.9389 21.1025 11.9902L21 11.9951H1C0.447715 11.9951 0 11.5474 0 10.9951C0 10.4428 0.447715 9.99512 1 9.99512H21L21.1025 10Z" fill="black"></path></svg></div> 12797<div class="overflow-hidden mb-[20px]"> 12798<div> 12799<div class="prose prose-sm md:prose-base text-[#191919] font-elza"> 12800<p>Â </p> 12801<ul> 12802<li>Always follow the curing instructions provided with the specific gel system or product.</li> 12803<li>Place the entire hand inside the lamp and confirm that all five nails receive direct light exposure.</li> 12804<li>Use Low Heat mode for heat-sensitive clients or gels that may produce a stronger exothermic reaction.</li> 12805<li>Keep the lamp connected to its included adapter during use. Mini Nova is corded and does not contain a rechargeable battery.</li> 12806<li>Disconnect the lamp from power before cleaning.</li> 12807<li>Clean only according to the product manual. Do not immerse the lamp, adapter, or power cord in liquid.</li> 12808<li>Store in a clean, dry environment away from excessive heat and direct sunlight.</li> 12809<li>Register the lamp at apresnail.com/warranty-registration to activate the applicable limited warranty.</li> 12810</ul> 12811</div> 12812</div> 12813</div> 12814</div> 12815</div> 12816</div> 12817<br><br><strong>Product:</strong><span> Mini Nova LED Lamp</span><br><strong>Available Colors:</strong><span> White and Black</span><br><strong>Dimensions:</strong><span> 200 Ã 239 Ã 87 mm</span><br><strong>Weight:</strong><span> 1.762 lbs</span><br><strong>Power Output:</strong><span> 36W</span><br><strong>LED Array:</strong><span> 45 premium LED bulbs</span><br><strong>Wavelengths:</strong><span> 365nm + 405nm</span><br><strong>Standard Timers:</strong><span> 30 / 60 / 90 seconds</span><br><strong>Low Heat Timers:</strong><span>
12817 L30 / L60 / L90</span><br><strong>Low Heat Output:</strong><span> 65% reduced power</span><br><strong>Automatic Sensor:</strong><span> 60-second curing cycle</span><br><strong>Display:</strong><span> Digital touch display</span><br><strong>Power Type:</strong><span> Corded</span><br><strong>Adapter Output:</strong><span> 24V / 1.5A</span><br><strong>AC Input:</strong><span> 100â240V, 50/60Hz</span><br><strong>Exterior Finish:</strong><span> UV-coated; scratch- and acetone-resistant</span><br><strong>Certifications:</strong><span> CE and RoHS</span><br><strong>Adapter Certification:</strong><span> UL-certified</span><br><strong>Warranty:</strong><span> One-year limited warranty; registration required</span><br><strong>Use:</strong><span> Professional use only</span><br> 12818</li> 12819</ul> 12820</div> 12821</div> 12822</div> 12823<p><strong><em></em></strong><br></p> 12824 </rte-formatter> 12825 12826 12827 12828 12829
12830<script type="module"> 12831 class TextReadMoreWrapper extends HTMLElement { 12832 #expanded = false; 12833 #animation = null; 12834 #collapsedHeight = 0; 12835 12836 connectedCallback() { 12837 const content = this.querySelector('.text-read-more__content'); 12838 const textElement = this.querySelector('.text-read-more__text'); 12839 const button = this.querySelector('.text-read-more__button'); 12840 12841 if (!content || !textElement || !button) return; 12842 12843 // Set initial state 12844 this.dataset.expanded = 'false'; 12845 12846 // Wait for content to render - use double RAF to ensure layout is complete 12847 requestAnimationFrame(() => { 12848 requestAnimationFrame(() => { 12849 // Additional small delay to ensure fonts and styles are applied 12850 setTimeout(() => { 12851 this.#checkOverflow(content, textElement, button); 12852 }, 50); 12853 12854 // Recheck on resize 12855 const resizeObserver = new ResizeObserver(() => { 12856 if (!this.#expanded) { 12857 this.#checkOverflow(content, textElement, button); 12858 } 12859 }); 12860 resizeObserver.observe(content); 12861 12862 // Setup button click handler 12863 button.addEventListener('click', (e) => { 12864 e.preventDefault(); 12865 this.#toggle(content, textElement, button); 12866 }); 12867 }); 12868 }); 12869 } 12870 12871 #checkOverflow(content, textElement, button) { 12872 // Ensure collapsed state is applied 12873 if (!textElement.classList.contains('text-read-more__text--collapsed')) { 12874 textElement.classList.add('text-read-more__text--collapsed'); 12875 } 12876 12877 // Get collapsed height first 12878 const collapsedHeight = content.scrollHeight; 12879 this.#collapsedHeight = collapsedHeight; 12880 12881 // Temporarily remove line-clamp to measure full height 12882 textElement.classList.remove('text-read-more__text--collapsed'); 12883 12884 // Force reflow 12885 void content.offsetHeight; 12886 12887 const fullHeight = content.scrollHeight; 12888 12889 // Restore line-clamp 12890 textElement.classList.add('text-read-more__text--collapsed'); 12891 12892 // Show button if content exceeds 2 lines (with small threshold for rounding) 12893 if (fullHeight > collapsedHeight + 5) { 12894 button.removeAttribute('hidden'); 12895 } else { 12896 button.setAttribute('hidden', ''); 12897 } 12898 } 12899 12900 #toggle(content, textElement, button) { 12901 const startHeight = content.offsetHeight; 12902 let endHeight; 12903 12904 if (!this.#expanded) { 12905 // Expanding 12906 textElement.classList.remove('text-read-more__text--collapsed'); 12907 endHeight = content.scrollHeight; 12908 this.#expanded = true; 12909 } else { 12910 // Collapsing 12911 endHeight = this.#collapsedHeight; 12912 this.#expanded = false; 12913 } 12914 12915 this.dataset.expanded = this.#expanded; 12916 button.setAttribute('aria-expanded', this.#expanded); 12917 12918 // Animate 12919 content.style.overflow = 'hidden'; 12920 this.#animation?.cancel(); 12921 12922 this.#animation = content.animate( 12923 { 12924 height: [`${startHeight}px`, `${endHeight}px`], 12925 }, 12926 { 12927 duration: 300, 12928 easing: 'ease-in-out', 12929 } 12930 ); 12931 12932 this.#animation.onfinish = () => { 12933 if (this.#expanded) { 12934 content.style.removeProperty('height'); 12935 content.style.overflow = ''; 12936 } else { 12937 textElement.classList.add('text-read-more__text--collapsed'); 12938 content.style.removeProperty('height'); 12939 content.style.overflow = ''; 12940 } 12941 }; 12942 } 12943 } 12944 12945 if (!customElements.get('text-read-more-wrapper')) { 12946 customElements.define('text-read-more-wrapper', TextReadMoreWrapper); 12947 } 12948</script>
12948 12949 12950 12951 12952 12953 </div> 12954 </details> 12955</accordion-custom> 12956 12957 12958 12959 12960 12961 12962 12963 12964 12965 12966 12967 12968 12969 12970 12971<accordion-custom 12972 12973> 12974 <details 12975 class="details" 12976 data-testid="accordion-details" 12977 12978 12979 > 12980 <summary class="details__header"> 12981 12982 12983 12984 <img src="//www.tnbl.co.uk/cdn/shop/files/Delivery_Icon_8f811314-7294-457c-9bdd-764cca647b5e.svg?v=1766572982&width=1200" alt="" srcset="//www.tnbl.co.uk/cdn/shop/files/Delivery_Icon_8f811314-7294-457c-9bdd-764cca647b5e.svg?v=1766572982&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/Delivery_Icon_8f811314-7294-457c-9bdd-764cca647b5e.svg?v=1766572982&width=352 352w, //www.tnbl.co.uk/cdn/shop/files/Delivery_Icon_8f811314-7294-457c-9bdd-764cca647b5e.svg?v=1766572982&width=832 832w, //www.tnbl.co.uk/cdn/shop/files/Delivery_Icon_8f811314-7294-457c-9bdd-764cca647b5e.svg?v=1766572982&width=1200 1200w" width="1200" height="831" class="details__icon" style="width: 26px;" sizes="(min-width: 1024px) 1024px, 100vw, 100vw"> 12985 12986 DELIVERY & RETURNS 12987 <span class="svg-wrapper icon-caret icon-animated"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 12988 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 12989</svg> 12990</span> 12991 <span class="svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 12992 <path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 12993 <path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 12994</svg> 12995</span> 12996 </summary> 12997 12998 <div class="details-content"> 12999 13000 13001 13002 13003 13004 13005 13006 13007 13008 13009 <rte-formatter class=" spacing-style text-block text-block--AZ1VUYmdGTEhBejdob__text_bMGKRx rte text-block--align-left rte " 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; "> 13010 <p><strong>Delivery</strong></p><p>Orders are usually processed within <strong>1â2 working days</strong>, MondayâFriday.</p><ul><li><strong>UK Express:</strong> typically 1â2 working days</li><li><strong>UK Standard Tracked:</strong> typically 2â5 working days</li><li><strong>Non-Mainland UK:</strong> typically 2â7 working days depending on service</li><li>Express orders should be placed before <strong>11am</strong></li></ul><p>Tracking details will be emailed once your order has been dispatched.</p><p><strong>Returns</strong></p><p>Unused items in their original, resaleable condition can normally be returned within <strong>14 days of purchase</strong>. Return postage is the customerâs responsibility unless the item is faulty.</p><p>If your order arrives damaged, please contact us within <strong>48 hours of delivery</strong>.</p><p>International delivery times, customs charges and some product restrictions may vary.</p><p><a href="https://www.tnbl.co.uk/pages/delivery-returns" title="Delivery & Returns policy"><strong>See our full Delivery & Returns policy for further information.</strong></a></p> 13011 </rte-formatter> 13012 13013 13014 13015 13016
13017<script type="module"> 13018 class TextReadMoreWrapper extends HTMLElement { 13019 #expanded = false; 13020 #animation = null; 13021 #collapsedHeight = 0; 13022 13023 connectedCallback() { 13024 const content = this.querySelector('.text-read-more__content'); 13025 const textElement = this.querySelector('.text-read-more__text'); 13026 const button = this.querySelector('.text-read-more__button'); 13027 13028 if (!content || !textElement || !button) return; 13029 13030 // Set initial state 13031 this.dataset.expanded = 'false'; 13032 13033 // Wait for content to render - use double RAF to ensure layout is complete 13034 requestAnimationFrame(() => { 13035 requestAnimationFrame(() => { 13036 // Additional small delay to ensure fonts and styles are applied 13037 setTimeout(() => { 13038 this.#checkOverflow(content, textElement, button); 13039 }, 50); 13040 13041 // Recheck on resize 13042 const resizeObserver = new ResizeObserver(() => { 13043 if (!this.#expanded) { 13044 this.#checkOverflow(content, textElement, button); 13045 } 13046 }); 13047 resizeObserver.observe(content); 13048 13049 // Setup button click handler 13050 button.addEventListener('click', (e) => { 13051 e.preventDefault(); 13052 this.#toggle(content, textElement, button); 13053 }); 13054 }); 13055 }); 13056 } 13057 13058 #checkOverflow(content, textElement, button) { 13059 // Ensure collapsed state is applied 13060 if (!textElement.classList.contains('text-read-more__text--collapsed')) { 13061 textElement.classList.add('text-read-more__text--collapsed'); 13062 } 13063 13064 // Get collapsed height first 13065 const collapsedHeight = content.scrollHeight; 13066 this.#collapsedHeight = collapsedHeight; 13067 13068 // Temporarily remove line-clamp to measure full height 13069 textElement.classList.remove('text-read-more__text--collapsed'); 13070 13071 // Force reflow 13072 void content.offsetHeight; 13073 13074 const fullHeight = content.scrollHeight; 13075 13076 // Restore line-clamp 13077 textElement.classList.add('text-read-more__text--collapsed'); 13078 13079 // Show button if content exceeds 2 lines (with small threshold for rounding) 13080 if (fullHeight > collapsedHeight + 5) { 13081 button.removeAttribute('hidden'); 13082 } else { 13083 button.setAttribute('hidden', ''); 13084 } 13085 } 13086 13087 #toggle(content, textElement, button) { 13088 const startHeight = content.offsetHeight; 13089 let endHeight; 13090 13091 if (!this.#expanded) { 13092 // Expanding 13093 textElement.classList.remove('text-read-more__text--collapsed'); 13094 endHeight = content.scrollHeight; 13095 this.#expanded = true; 13096 } else { 13097 // Collapsing 13098 endHeight = this.#collapsedHeight; 13099 this.#expanded = false; 13100 } 13101 13102 this.dataset.expanded = this.#expanded; 13103 button.setAttribute('aria-expanded', this.#expanded); 13104 13105 // Animate 13106 content.style.overflow = 'hidden'; 13107 this.#animation?.cancel(); 13108 13109 this.#animation = content.animate( 13110 { 13111 height: [`${startHeight}px`, `${endHeight}px`], 13112 }, 13113 { 13114 duration: 300, 13115 easing: 'ease-in-out', 13116 } 13117 ); 13118 13119 this.#animation.onfinish = () => { 13120 if (this.#expanded) { 13121 content.style.removeProperty('height'); 13122 content.style.overflow = ''; 13123 } else { 13124 textElement.classList.add('text-read-more__text--collapsed'); 13125 content.style.removeProperty('height'); 13126 content.style.overflow = ''; 13127 } 13128 }; 13129 } 13130 } 13131 13132 if (!customElements.get('text-read-more-wrapper')) { 13133 customElements.define('text-read-more-wrapper', TextReadMoreWrapper); 13134 } 13135</script>
13135 13136 13137 13138 13139 13140 </div> 13141 </details> 13142</accordion-custom> 13143 13144 13145 13146 13147 13148 13149</div> 13150 13151 13152 13153 13154 13155 </div> 13156</div> 13157 13158 13159
13160<script type="module"> 13161 (function() { 13162 // Only run if Intersection Observer is supported 13163 if (typeof IntersectionObserver === 'undefined') { 13164 // Fallback: show all animated content immediately 13165 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 13166 el.classList.add('group-block-content--in-view'); 13167 }); 13168 return; 13169 } 13170 13171 // Respect reduced motion preference 13172 const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches; 13173 if (prefersReducedMotion) { 13174 // Show all animated content immediately without animation 13175 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 13176 el.style.opacity = '1'; 13177 el.style.transform = 'none'; 13178 }); 13179 return; 13180 } 13181 13182 // Set up Intersection Observer for scroll-triggered animations 13183 const observerOptions = { 13184 root: null, 13185 rootMargin: '0px 0px -10% 0px', // Trigger when element is 10% from bottom of viewport 13186 threshold: 0.1 // Trigger when 10% of element is visible 13187 }; 13188 13189 const observer = new IntersectionObserver((entries) => { 13190 entries.forEach(entry => { 13191 if (entry.isIntersecting) { 13192 const contentElement = entry.target; 13193 // Add the in-view class to trigger animation 13194 contentElement.classList.add('group-block-content--in-view'); 13195 // Unobserve after animation is triggered (only animate once) 13196 observer.unobserve(contentElement); 13197 } 13198 }); 13199 }, observerOptions); 13200 13201 // Observe all group blocks with animations 13202 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 13203 observer.observe(el); 13204 }); 13205 })(); 13206</script>
13206 13207 13208</div> 13209 13210 13211 13212 13213 13214 13215 13216 13217 </div> 13218 13219 13220 13221 13222</div> 13223 13224 13225 13226 13227 13228 13229 13230</div><div id="shopify-section-template--28213213725018__product_recommendations_qggXJq" class="shopify-section">
13231<script 13232 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/product-recommendations.js?v=106949542878014487231774530328" 13233 type="module" 13234 fetchpriority="low" 13235></script>
13235 13236 13237 13238 13239<product-recommendations 13240 id="product-recommendations-template--28213213725018__product_recommendations_qggXJq" 13241 class="product-recommendations" 13242 data-url="/recommendations/products?limit=4" 13243 data-section-id="template--28213213725018__product_recommendations_qggXJq" 13244 data-product-id="11020550406490" 13245 data-intent="related" 13246 data-testid="product-recommendations-section" 13247 data-recommendations-performed="false" 13248 13249> 13250 <div class="section-background color-scheme-1"></div> 13251 <div 13252 class=" 13253 section 13254 section--page-width 13255 color-scheme-1 13256 section-resource-list 13257 spacing-style 13258 gap-style 13259 " 13260 style=" 13261 --padding-block-start: max(20px, calc(var(--spacing-scale) * 48px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 48px)); 13262 --gap: max(24px, calc(var(--gap-scale, 1.0) * 28px)); 13263 --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; 13264 " 13265 > 13266 <div class="section-resource-list__content"> 13267 13268 13269 13270 13271 13272 13273 13274 13275 13276 13277 <div class=" spacing-style text-block text-block--AOCtFa3JQWURDZDhoQ__text_cbcgyb h3 text-block--align-center text-block--full-width " 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-none); --text-align: center; "> 13278 <h3>You may also like </h3> 13279 </div> 13280 13281 13282 13283 13284
13285<script type="module"> 13286 class TextReadMoreWrapper extends HTMLElement { 13287 #expanded = false; 13288 #animation = null; 13289 #collapsedHeight = 0; 13290 13291 connectedCallback() { 13292 const content = this.querySelector('.text-read-more__content'); 13293 const textElement = this.querySelector('.text-read-more__text'); 13294 const button = this.querySelector('.text-read-more__button'); 13295 13296 if (!content || !textElement || !button) return; 13297 13298 // Set initial state 13299 this.dataset.expanded = 'false'; 13300 13301 // Wait for content to render - use double RAF to ensure layout is complete 13302 requestAnimationFrame(() => { 13303 requestAnimationFrame(() => { 13304 // Additional small delay to ensure fonts and styles are applied 13305 setTimeout(() => { 13306 this.#checkOverflow(content, textElement, button); 13307 }, 50); 13308 13309 // Recheck on resize 13310 const resizeObserver = new ResizeObserver(() => { 13311 if (!this.#expanded) { 13312 this.#checkOverflow(content, textElement, button); 13313 } 13314 }); 13315 resizeObserver.observe(content); 13316 13317 // Setup button click handler 13318 button.addEventListener('click', (e) => { 13319 e.preventDefault(); 13320 this.#toggle(content, textElement, button); 13321 }); 13322 }); 13323 }); 13324 } 13325 13326 #checkOverflow(content, textElement, button) { 13327 // Ensure collapsed state is applied 13328 if (!textElement.classList.contains('text-read-more__text--collapsed')) { 13329 textElement.classList.add('text-read-more__text--collapsed'); 13330 } 13331 13332 // Get collapsed height first 13333 const collapsedHeight = content.scrollHeight; 13334 this.#collapsedHeight = collapsedHeight; 13335 13336 // Temporarily remove line-clamp to measure full height 13337 textElement.classList.remove('text-read-more__text--collapsed'); 13338 13339 // Force reflow 13340 void content.offsetHeight; 13341 13342 const fullHeight = content.scrollHeight; 13343 13344 // Restore line-clamp 13345 textElement.classList.add('text-read-more__text--collapsed'); 13346 13347 // Show button if content exceeds 2 lines (with small threshold for rounding) 13348 if (fullHeight > collapsedHeight + 5) { 13349 button.removeAttribute('hidden'); 13350 } else { 13351 button.setAttribute('hidden', ''); 13352 } 13353 } 13354 13355 #toggle(content, textElement, button) { 13356 const startHeight = content.offsetHeight; 13357 let endHeight; 13358 13359 if (!this.#expanded) { 13360 // Expanding 13361 textElement.classList.remove('text-read-more__text--collapsed'); 13362 endHeight = content.scrollHeight; 13363 this.#expanded = true; 13364 } else { 13365 // Collapsing 13366 endHeight = this.#collapsedHeight; 13367 this.#expanded = false; 13368 } 13369 13370 this.dataset.expanded = this.#expanded; 13371 button.setAttribute('aria-expanded', this.#expanded); 13372 13373 // Animate 13374 content.style.overflow = 'hidden'; 13375 this.#animation?.cancel(); 13376 13377 this.#animation = content.animate( 13378 { 13379 height: [`${startHeight}px`, `${endHeight}px`], 13380 }, 13381 { 13382 duration: 300, 13383 easing: 'ease-in-out', 13384 } 13385 ); 13386 13387 this.#animation.onfinish = () => { 13388 if (this.#expanded) { 13389 content.style.removeProperty('height'); 13390 content.style.overflow = ''; 13391 } else { 13392 textElement.classList.add('text-read-more__text--collapsed'); 13393 content.style.removeProperty('height'); 13394 content.style.overflow = ''; 13395 } 13396 }; 13397 } 13398 } 13399 13400 if (!customElements.get('text-read-more-wrapper')) { 13401 customElements.define('text-read-more-wrapper', TextReadMoreWrapper); 13402 } 13403</script>
13403 13404 13405 13406 13407 13408 </div><div 13409 class="resource-list resource-list--grid" 13410 > 13411 13412 <div 13413 class="product-recommendations__skeleton-item" 13414 aria-label="Loading product recommendations" 13415 ></div> 13416 13417 <div 13418 class="product-recommendations__skeleton-item" 13419 aria-label="Loading product recommendations" 13420 ></div> 13421 13422 <div 13423 class="product-recommendations__skeleton-item" 13424 aria-label="Loading product recommendations" 13425 ></div> 13426 13427 <div 13428 class="product-recommendations__skeleton-item" 13429 aria-label="Loading product recommendations" 13430 ></div> 13431 13432 </div></div> 13433</product-recommendations> 13434 13435 13436 13437 13438</div><div id="shopify-section-template--28213213725018__section_taAXcR" class="shopify-section section-wrapper"> 13439 13440 13441 13442<div class="section-background color-scheme-3"></div> 13443<div 13444 class="section section--page-width color-scheme-3" 13445 data-testid="ui-test-section" 13446 13447 13448 13449 style=" 13450 13451 --section-min-height: var(--section-height-small); 13452 13453 13454 13455 --section-preview-height: 600px; 13456 13457 " 13458> 13459 <div class="custom-section-background"> 13460 13461 13462 13463 13464 </div> 13465 13466 <div 13467 class="border-style custom-section-content" 13468 style="--border-width: 1px; --border-style: none; --border-color: 13469rgb(var(--color-border-rgb) / 1.0); --border-radius: 134700px; 13471" 13472 > 13473 13474 13475 <div 13476 class=" 13477 spacing-style 13478 layout-panel-flex 13479 layout-panel-flex--column 13480 section-content-wrapper 13481 mobile-column 13482 " 13483 style=" 13484 --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 13485 13486--gap: 12px; 13487 13488--horizontal-alignment: flex-start; --vertical-alignment: center; 13489--vertical-alignment-mobile: center; 13490 13491 --padding-block-start: max(20px, calc(var(--spacing-scale) * 78px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 78px)); 13492 " 13493 data-testid="section-content" 13494 > 13495 13496 13497 13498 13499 13500 13501 13502 13503 13504 13505 13506 <div class=" spacing-style text-block text-block--AUTA3Q1hZUXhoN1RFQ__text_DRfQg7 custom custom-typography custom-font-size custom-color " style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground);--font-size: 2rem; --font-weight: var(--font-heading--weight);--font-family: var(--font-heading--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-normal); --letter-spacing: var(--letter-spacing--body-normal); --width: fit-content; --max-width: var(--max-width--body-normal); "> 13507 <h2>FAQ's</h2> 13508 </div> 13509 13510 13511 13512 13513
13514<script type="module"> 13515 class TextReadMoreWrapper extends HTMLElement { 13516 #expanded = false; 13517 #animation = null; 13518 #collapsedHeight = 0; 13519 13520 connectedCallback() { 13521 const content = this.querySelector('.text-read-more__content'); 13522 const textElement = this.querySelector('.text-read-more__text'); 13523 const button = this.querySelector('.text-read-more__button'); 13524 13525 if (!content || !textElement || !button) return; 13526 13527 // Set initial state 13528 this.dataset.expanded = 'false'; 13529 13530 // Wait for content to render - use double RAF to ensure layout is complete 13531 requestAnimationFrame(() => { 13532 requestAnimationFrame(() => { 13533 // Additional small delay to ensure fonts and styles are applied 13534 setTimeout(() => { 13535 this.#checkOverflow(content, textElement, button); 13536 }, 50); 13537 13538 // Recheck on resize 13539 const resizeObserver = new ResizeObserver(() => { 13540 if (!this.#expanded) { 13541 this.#checkOverflow(content, textElement, button); 13542 } 13543 }); 13544 resizeObserver.observe(content); 13545 13546 // Setup button click handler 13547 button.addEventListener('click', (e) => { 13548 e.preventDefault(); 13549 this.#toggle(content, textElement, button); 13550 }); 13551 }); 13552 }); 13553 } 13554 13555 #checkOverflow(content, textElement, button) { 13556 // Ensure collapsed state is applied 13557 if (!textElement.classList.contains('text-read-more__text--collapsed')) { 13558 textElement.classList.add('text-read-more__text--collapsed'); 13559 } 13560 13561 // Get collapsed height first 13562 const collapsedHeight = content.scrollHeight; 13563 this.#collapsedHeight = collapsedHeight; 13564 13565 // Temporarily remove line-clamp to measure full height 13566 textElement.classList.remove('text-read-more__text--collapsed'); 13567 13568 // Force reflow 13569 void content.offsetHeight; 13570 13571 const fullHeight = content.scrollHeight; 13572 13573 // Restore line-clamp 13574 textElement.classList.add('text-read-more__text--collapsed'); 13575 13576 // Show button if content exceeds 2 lines (with small threshold for rounding) 13577 if (fullHeight > collapsedHeight + 5) { 13578 button.removeAttribute('hidden'); 13579 } else { 13580 button.setAttribute('hidden', ''); 13581 } 13582 } 13583 13584 #toggle(content, textElement, button) { 13585 const startHeight = content.offsetHeight; 13586 let endHeight; 13587 13588 if (!this.#expanded) { 13589 // Expanding 13590 textElement.classList.remove('text-read-more__text--collapsed'); 13591 endHeight = content.scrollHeight; 13592 this.#expanded = true; 13593 } else { 13594 // Collapsing 13595 endHeight = this.#collapsedHeight; 13596 this.#expanded = false; 13597 } 13598 13599 this.dataset.expanded = this.#expanded; 13600 button.setAttribute('aria-expanded', this.#expanded); 13601 13602 // Animate 13603 content.style.overflow = 'hidden'; 13604 this.#animation?.cancel(); 13605 13606 this.#animation = content.animate( 13607 { 13608 height: [`${startHeight}px`, `${endHeight}px`], 13609 }, 13610 { 13611 duration: 300, 13612 easing: 'ease-in-out', 13613 } 13614 ); 13615 13616 this.#animation.onfinish = () => { 13617 if (this.#expanded) { 13618 content.style.removeProperty('height'); 13619 content.style.overflow = ''; 13620 } else { 13621 textElement.classList.add('text-read-more__text--collapsed'); 13622 content.style.removeProperty('height'); 13623 content.style.overflow = ''; 13624 } 13625 }; 13626 } 13627 } 13628 13629 if (!customElements.get('text-read-more-wrapper')) { 13630 customElements.define('text-read-more-wrapper', TextReadMoreWrapper); 13631 } 13632</script>
13632 13633 13634 13635 13636 13637 13638 13639<div 13640 class="accordion accordion--AS2QxbXJxYVRlOEtCO__accordion_qF463L accordion--caret border-style spacing-style accordion--dividers accordion--no-last-divider accordion--height-fit-content" 13641 style=" 13642 --summary-font-family: var(--font-h6--family); 13643 --summary-font-style: var(--font-h6--style); 13644 --summary-font-weight: var(--font-h6--weight); 13645 --summary-font-size: var(--font-h6--size); 13646 --summary-font-line-height: var(--font-h6--line-height); 13647 --summary-font-case: var(--font-h6--case); 13648 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 13649 --border-width: 1px; --border-style: none; --border-color: 13650rgb(var(--color-border-rgb) / 1.0); --border-radius: 136510px; 13652 13653 " 13654 13655> 13656 13657 13658 13659<accordion-custom 13660 13661> 13662 <details 13663 class="details" 13664 data-testid="accordion-details" 13665 13666 13667 > 13668 <summary class="details__header"> 13669 13670 CAN I AMEND MY ORDER AFTER I'VE PLACED IT? 13671 <span class="svg-wrapper icon-caret icon-animated"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 13672 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 13673</svg> 13674</span> 13675 <span class="svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 13676 <path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 13677 <path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 13678</svg> 13679</span> 13680 </summary> 13681 13682 <div class="details-content"> 13683 13684 13685 13686 13687 13688 13689 13690 13691 13692 13693 <rte-formatter class=" spacing-style text-block text-block--AN2tKTWZncHAzL1ZUV__text_rKM3UC rte text-block--align-left rte " 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; "> 13694 <p>If your order hasnât been shipped yet, we may still be able to amend it. Please call our office on 0121 523 5535 and weâll be happy to help.</p> 13695 </rte-formatter> 13696 13697 13698 13699 13700
13701<script type="module"> 13702 class TextReadMoreWrapper extends HTMLElement { 13703 #expanded = false; 13704 #animation = null; 13705 #collapsedHeight = 0; 13706 13707 connectedCallback() { 13708 const content = this.querySelector('.text-read-more__content'); 13709 const textElement = this.querySelector('.text-read-more__text'); 13710 const button = this.querySelector('.text-read-more__button'); 13711 13712 if (!content || !textElement || !button) return; 13713 13714 // Set initial state 13715 this.dataset.expanded = 'false'; 13716 13717 // Wait for content to render - use double RAF to ensure layout is complete 13718 requestAnimationFrame(() => { 13719 requestAnimationFrame(() => { 13720 // Additional small delay to ensure fonts and styles are applied 13721 setTimeout(() => { 13722 this.#checkOverflow(content, textElement, button); 13723 }, 50); 13724 13725 // Recheck on resize 13726 const resizeObserver = new ResizeObserver(() => { 13727 if (!this.#expanded) { 13728 this.#checkOverflow(content, textElement, button); 13729 } 13730 }); 13731 resizeObserver.observe(content); 13732 13733 // Setup button click handler 13734 button.addEventListener('click', (e) => { 13735 e.preventDefault(); 13736 this.#toggle(content, textElement, button); 13737 }); 13738 }); 13739 }); 13740 } 13741 13742 #checkOverflow(content, textElement, button) { 13743 // Ensure collapsed state is applied 13744 if (!textElement.classList.contains('text-read-more__text--collapsed')) { 13745 textElement.classList.add('text-read-more__text--collapsed'); 13746 } 13747 13748 // Get collapsed height first 13749 const collapsedHeight = content.scrollHeight; 13750 this.#collapsedHeight = collapsedHeight; 13751 13752 // Temporarily remove line-clamp to measure full height 13753 textElement.classList.remove('text-read-more__text--collapsed'); 13754 13755 // Force reflow 13756 void content.offsetHeight; 13757 13758 const fullHeight = content.scrollHeight; 13759 13760 // Restore line-clamp 13761 textElement.classList.add('text-read-more__text--collapsed'); 13762 13763 // Show button if content exceeds 2 lines (with small threshold for rounding) 13764 if (fullHeight > collapsedHeight + 5) { 13765 button.removeAttribute('hidden'); 13766 } else { 13767 button.setAttribute('hidden', ''); 13768 } 13769 } 13770 13771 #toggle(content, textElement, button) { 13772 const startHeight = content.offsetHeight; 13773 let endHeight; 13774 13775 if (!this.#expanded) { 13776 // Expanding 13777 textElement.classList.remove('text-read-more__text--collapsed'); 13778 endHeight = content.scrollHeight; 13779 this.#expanded = true; 13780 } else { 13781 // Collapsing 13782 endHeight = this.#collapsedHeight; 13783 this.#expanded = false; 13784 } 13785 13786 this.dataset.expanded = this.#expanded; 13787 button.setAttribute('aria-expanded', this.#expanded); 13788 13789 // Animate 13790 content.style.overflow = 'hidden'; 13791 this.#animation?.cancel(); 13792 13793 this.#animation = content.animate( 13794 { 13795 height: [`${startHeight}px`, `${endHeight}px`], 13796 }, 13797 { 13798 duration: 300, 13799 easing: 'ease-in-out', 13800 } 13801 ); 13802 13803 this.#animation.onfinish = () => { 13804 if (this.#expanded) { 13805 content.style.removeProperty('height'); 13806 content.style.overflow = ''; 13807 } else { 13808 textElement.classList.add('text-read-more__text--collapsed'); 13809 content.style.removeProperty('height'); 13810 content.style.overflow = ''; 13811 } 13812 }; 13813 } 13814 } 13815 13816 if (!customElements.get('text-read-more-wrapper')) { 13817 customElements.define('text-read-more-wrapper', TextReadMoreWrapper); 13818 } 13819</script>
13819 13820 13821 13822 13823 13824 </div> 13825 </details> 13826</accordion-custom> 13827 13828 13829 13830 13831 13832 13833 13834 13835<accordion-custom 13836 13837> 13838 <details 13839 class="details" 13840 data-testid="accordion-details" 13841 13842 13843 > 13844 <summary class="details__header"> 13845 13846 HOW LONG DO DELIVERIES TAKE WITHIN THE UK? 13847 <span class="svg-wrapper icon-caret icon-animated"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 13848 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 13849</svg> 13850</span> 13851 <span class="svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 13852 <path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 13853 <path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 13854</svg> 13855</span> 13856 </summary> 13857 13858 <div class="details-content"> 13859 13860 13861 13862 13863 13864 13865 13866 13867 13868 13869 <rte-formatter class=" spacing-style text-block text-block--AOGJMeDdGckJ2bGdrU__text_ewp4za rte text-block--align-left rte " 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; "> 13870 <p>Standard delivery usually takes 2â5 working days. If you need your order sooner, you can choose express delivery at checkout, which takes 1â2 working days.</p> 13871 </rte-formatter> 13872 13873 13874 13875 13876
13877<script type="module"> 13878 class TextReadMoreWrapper extends HTMLElement { 13879 #expanded = false; 13880 #animation = null; 13881 #collapsedHeight = 0; 13882 13883 connectedCallback() { 13884 const content = this.querySelector('.text-read-more__content'); 13885 const textElement = this.querySelector('.text-read-more__text'); 13886 const button = this.querySelector('.text-read-more__button'); 13887 13888 if (!content || !textElement || !button) return; 13889 13890 // Set initial state 13891 this.dataset.expanded = 'false'; 13892 13893 // Wait for content to render - use double RAF to ensure layout is complete 13894 requestAnimationFrame(() => { 13895 requestAnimationFrame(() => { 13896 // Additional small delay to ensure fonts and styles are applied 13897 setTimeout(() => { 13898 this.#checkOverflow(content, textElement, button); 13899 }, 50); 13900 13901 // Recheck on resize 13902 const resizeObserver = new ResizeObserver(() => { 13903 if (!this.#expanded) { 13904 this.#checkOverflow(content, textElement, button); 13905 } 13906 }); 13907 resizeObserver.observe(content); 13908 13909 // Setup button click handler 13910 button.addEventListener('click', (e) => { 13911 e.preventDefault(); 13912 this.#toggle(content, textElement, button); 13913 }); 13914 }); 13915 }); 13916 } 13917 13918 #checkOverflow(content, textElement, button) { 13919 // Ensure collapsed state is applied 13920 if (!textElement.classList.contains('text-read-more__text--collapsed')) { 13921 textElement.classList.add('text-read-more__text--collapsed'); 13922 } 13923 13924 // Get collapsed height first 13925 const collapsedHeight = content.scrollHeight; 13926 this.#collapsedHeight = collapsedHeight; 13927 13928 // Temporarily remove line-clamp to measure full height 13929 textElement.classList.remove('text-read-more__text--collapsed'); 13930 13931 // Force reflow 13932 void content.offsetHeight; 13933 13934 const fullHeight = content.scrollHeight; 13935 13936 // Restore line-clamp 13937 textElement.classList.add('text-read-more__text--collapsed'); 13938 13939 // Show button if content exceeds 2 lines (with small threshold for rounding) 13940 if (fullHeight > collapsedHeight + 5) { 13941 button.removeAttribute('hidden'); 13942 } else { 13943 button.setAttribute('hidden', ''); 13944 } 13945 } 13946 13947 #toggle(content, textElement, button) { 13948 const startHeight = content.offsetHeight; 13949 let endHeight; 13950 13951 if (!this.#expanded) { 13952 // Expanding 13953 textElement.classList.remove('text-read-more__text--collapsed'); 13954 endHeight = content.scrollHeight; 13955 this.#expanded = true; 13956 } else { 13957 // Collapsing 13958 endHeight = this.#collapsedHeight; 13959 this.#expanded = false; 13960 } 13961 13962 this.dataset.expanded = this.#expanded; 13963 button.setAttribute('aria-expanded', this.#expanded); 13964 13965 // Animate 13966 content.style.overflow = 'hidden'; 13967 this.#animation?.cancel(); 13968 13969 this.#animation = content.animate( 13970 { 13971 height: [`${startHeight}px`, `${endHeight}px`], 13972 }, 13973 { 13974 duration: 300, 13975 easing: 'ease-in-out', 13976 } 13977 ); 13978 13979 this.#animation.onfinish = () => { 13980 if (this.#expanded) { 13981 content.style.removeProperty('height'); 13982 content.style.overflow = ''; 13983 } else { 13984 textElement.classList.add('text-read-more__text--collapsed'); 13985 content.style.removeProperty('height'); 13986 content.style.overflow = ''; 13987 } 13988 }; 13989 } 13990 } 13991 13992 if (!customElements.get('text-read-more-wrapper')) { 13993 customElements.define('text-read-more-wrapper', TextReadMoreWrapper); 13994 } 13995</script>
13995 13996 13997 13998 13999 14000 </div> 14001 </details> 14002</accordion-custom> 14003 14004 14005 14006 14007 14008 14009 14010 14011<accordion-custom 14012 14013> 14014 <details 14015 class="details" 14016 data-testid="accordion-details" 14017 14018 14019 > 14020 <summary class="details__header"> 14021 14022 DO YOU SHIP OUTSIDE OF THE UK? 14023 <span class="svg-wrapper icon-caret icon-animated"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 14024 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 14025</svg> 14026</span> 14027 <span class="svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 14028 <path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 14029 <path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 14030</svg> 14031</span> 14032 </summary> 14033 14034 <div class="details-content"> 14035 14036 14037 14038 14039 14040 14041 14042 14043 14044 14045 <rte-formatter class=" spacing-style text-block text-block--ARGg5dmF1elZvTDlxV__text_VGtyzP rte text-block--align-left rte " 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; "> 14046 <p><br/>Yes, we offer international shipping. Delivery times and costs vary depending on the destination and will be shown at checkout. If shipping options are not available for your address, please email <a>[email protected]</a> and weâll be happy to assist.<br/><br/></p> 14047 </rte-formatter> 14048 14049 14050 14051 14052
14053<script type="module"> 14054 class TextReadMoreWrapper extends HTMLElement { 14055 #expanded = false; 14056 #animation = null; 14057 #collapsedHeight = 0; 14058 14059 connectedCallback() { 14060 const content = this.querySelector('.text-read-more__content'); 14061 const textElement = this.querySelector('.text-read-more__text'); 14062 const button = this.querySelector('.text-read-more__button'); 14063 14064 if (!content || !textElement || !button) return; 14065 14066 // Set initial state 14067 this.dataset.expanded = 'false'; 14068 14069 // Wait for content to render - use double RAF to ensure layout is complete 14070 requestAnimationFrame(() => { 14071 requestAnimationFrame(() => { 14072 // Additional small delay to ensure fonts and styles are applied 14073 setTimeout(() => { 14074 this.#checkOverflow(content, textElement, button); 14075 }, 50); 14076 14077 // Recheck on resize 14078 const resizeObserver = new ResizeObserver(() => { 14079 if (!this.#expanded) { 14080 this.#checkOverflow(content, textElement, button); 14081 } 14082 }); 14083 resizeObserver.observe(content); 14084 14085 // Setup button click handler 14086 button.addEventListener('click', (e) => { 14087 e.preventDefault(); 14088 this.#toggle(content, textElement, button); 14089 }); 14090 }); 14091 }); 14092 } 14093 14094 #checkOverflow(content, textElement, button) { 14095 // Ensure collapsed state is applied 14096 if (!textElement.classList.contains('text-read-more__text--collapsed')) { 14097 textElement.classList.add('text-read-more__text--collapsed'); 14098 } 14099 14100 // Get collapsed height first 14101 const collapsedHeight = content.scrollHeight; 14102 this.#collapsedHeight = collapsedHeight; 14103 14104 // Temporarily remove line-clamp to measure full height 14105 textElement.classList.remove('text-read-more__text--collapsed'); 14106 14107 // Force reflow 14108 void content.offsetHeight; 14109 14110 const fullHeight = content.scrollHeight; 14111 14112 // Restore line-clamp 14113 textElement.classList.add('text-read-more__text--collapsed'); 14114 14115 // Show button if content exceeds 2 lines (with small threshold for rounding) 14116 if (fullHeight > collapsedHeight + 5) { 14117 button.removeAttribute('hidden'); 14118 } else { 14119 button.setAttribute('hidden', ''); 14120 } 14121 } 14122 14123 #toggle(content, textElement, button) { 14124 const startHeight = content.offsetHeight; 14125 let endHeight; 14126 14127 if (!this.#expanded) { 14128 // Expanding 14129 textElement.classList.remove('text-read-more__text--collapsed'); 14130 endHeight = content.scrollHeight; 14131 this.#expanded = true; 14132 } else { 14133 // Collapsing 14134 endHeight = this.#collapsedHeight; 14135 this.#expanded = false; 14136 } 14137 14138 this.dataset.expanded = this.#expanded; 14139 button.setAttribute('aria-expanded', this.#expanded); 14140 14141 // Animate 14142 content.style.overflow = 'hidden'; 14143 this.#animation?.cancel(); 14144 14145 this.#animation = content.animate( 14146 { 14147 height: [`${startHeight}px`, `${endHeight}px`], 14148 }, 14149 { 14150 duration: 300, 14151 easing: 'ease-in-out', 14152 } 14153 ); 14154 14155 this.#animation.onfinish = () => { 14156 if (this.#expanded) { 14157 content.style.removeProperty('height'); 14158 content.style.overflow = ''; 14159 } else { 14160 textElement.classList.add('text-read-more__text--collapsed'); 14161 content.style.removeProperty('height'); 14162 content.style.overflow = ''; 14163 } 14164 }; 14165 } 14166 } 14167 14168 if (!customElements.get('text-read-more-wrapper')) { 14169 customElements.define('text-read-more-wrapper', TextReadMoreWrapper); 14170 } 14171</script>
14171 14172 14173 14174 14175 14176 </div> 14177 </details> 14178</accordion-custom> 14179 14180 14181 14182 14183 14184 14185 14186 14187<accordion-custom 14188 14189> 14190 <details 14191 class="details" 14192 data-testid="accordion-details" 14193 14194 14195 > 14196 <summary class="details__header"> 14197 14198 DO YOU OFFER ACCREDITED TRAINING COURSES? 14199 <span class="svg-wrapper icon-caret icon-animated"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 14200 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 14201</svg> 14202</span> 14203 <span class="svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 14204 <path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 14205 <path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 14206</svg> 14207</span> 14208 </summary> 14209 14210 <div class="details-content"> 14211 14212 14213 14214 14215 14216 14217 14218 14219 14220 14221 <rte-formatter class=" spacing-style text-block text-block--AUE43dERNNkZsUGd6T__text_Jkeekn rte text-block--align-left rte " 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; "> 14222 <p>Yes, we offer accredited training courses designed to meet industry standards and provide recognised certification upon completion. For more information on courses we provide, please e-mail us on [email protected].</p> 14223 </rte-formatter> 14224 14225 14226 14227 14228
14229<script type="module"> 14230 class TextReadMoreWrapper extends HTMLElement { 14231 #expanded = false; 14232 #animation = null; 14233 #collapsedHeight = 0; 14234 14235 connectedCallback() { 14236 const content = this.querySelector('.text-read-more__content'); 14237 const textElement = this.querySelector('.text-read-more__text'); 14238 const button = this.querySelector('.text-read-more__button'); 14239 14240 if (!content || !textElement || !button) return; 14241 14242 // Set initial state 14243 this.dataset.expanded = 'false'; 14244 14245 // Wait for content to render - use double RAF to ensure layout is complete 14246 requestAnimationFrame(() => { 14247 requestAnimationFrame(() => { 14248 // Additional small delay to ensure fonts and styles are applied 14249 setTimeout(() => { 14250 this.#checkOverflow(content, textElement, button); 14251 }, 50); 14252 14253 // Recheck on resize 14254 const resizeObserver = new ResizeObserver(() => { 14255 if (!this.#expanded) { 14256 this.#checkOverflow(content, textElement, button); 14257 } 14258 }); 14259 resizeObserver.observe(content); 14260 14261 // Setup button click handler 14262 button.addEventListener('click', (e) => { 14263 e.preventDefault(); 14264 this.#toggle(content, textElement, button); 14265 }); 14266 }); 14267 }); 14268 } 14269 14270 #checkOverflow(content, textElement, button) { 14271 // Ensure collapsed state is applied 14272 if (!textElement.classList.contains('text-read-more__text--collapsed')) { 14273 textElement.classList.add('text-read-more__text--collapsed'); 14274 } 14275 14276 // Get collapsed height first 14277 const collapsedHeight = content.scrollHeight; 14278 this.#collapsedHeight = collapsedHeight; 14279 14280 // Temporarily remove line-clamp to measure full height 14281 textElement.classList.remove('text-read-more__text--collapsed'); 14282 14283 // Force reflow 14284 void content.offsetHeight; 14285 14286 const fullHeight = content.scrollHeight; 14287 14288 // Restore line-clamp 14289 textElement.classList.add('text-read-more__text--collapsed'); 14290 14291 // Show button if content exceeds 2 lines (with small threshold for rounding) 14292 if (fullHeight > collapsedHeight + 5) { 14293 button.removeAttribute('hidden'); 14294 } else { 14295 button.setAttribute('hidden', ''); 14296 } 14297 } 14298 14299 #toggle(content, textElement, button) { 14300 const startHeight = content.offsetHeight; 14301 let endHeight; 14302 14303 if (!this.#expanded) { 14304 // Expanding 14305 textElement.classList.remove('text-read-more__text--collapsed'); 14306 endHeight = content.scrollHeight; 14307 this.#expanded = true; 14308 } else { 14309 // Collapsing 14310 endHeight = this.#collapsedHeight; 14311 this.#expanded = false; 14312 } 14313 14314 this.dataset.expanded = this.#expanded; 14315 button.setAttribute('aria-expanded', this.#expanded); 14316 14317 // Animate 14318 content.style.overflow = 'hidden'; 14319 this.#animation?.cancel(); 14320 14321 this.#animation = content.animate( 14322 { 14323 height: [`${startHeight}px`, `${endHeight}px`], 14324 }, 14325 { 14326 duration: 300, 14327 easing: 'ease-in-out', 14328 } 14329 ); 14330 14331 this.#animation.onfinish = () => { 14332 if (this.#expanded) { 14333 content.style.removeProperty('height'); 14334 content.style.overflow = ''; 14335 } else { 14336 textElement.classList.add('text-read-more__text--collapsed'); 14337 content.style.removeProperty('height'); 14338 content.style.overflow = ''; 14339 } 14340 }; 14341 } 14342 } 14343 14344 if (!customElements.get('text-read-more-wrapper')) { 14345 customElements.define('text-read-more-wrapper', TextReadMoreWrapper); 14346 } 14347</script>
14347 14348 14349 14350 14351 14352 </div> 14353 </details> 14354</accordion-custom> 14355 14356 14357 14358 14359 14360 14361 14362 14363<accordion-custom 14364 14365> 14366 <details 14367 class="details" 14368 data-testid="accordion-details" 14369 14370 14371 > 14372 <summary class="details__header"> 14373 14374 WHAT ARE THE BENEFITS OF A TRADE ACCOUNT? 14375 <span class="svg-wrapper icon-caret icon-animated"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 14376 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 14377</svg> 14378</span> 14379 <span class="svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 14380 <path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 14381 <path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 14382</svg> 14383</span> 14384 </summary> 14385 14386 <div class="details-content"> 14387 14388 14389 14390 14391 14392 14393 14394 14395 14396 14397 <rte-formatter class=" spacing-style text-block text-block--AVFFpNzJlQjZCTHJ2L__text_Q7kdbX rte text-block--align-left rte " 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; "> 14398 <p>With a trade account, business customers receive access to exclusive trade pricing, helping you save more on bulk and repeat orders.</p> 14399 </rte-formatter> 14400 14401 14402 14403 14404
14405<script type="module"> 14406 class TextReadMoreWrapper extends HTMLElement { 14407 #expanded = false; 14408 #animation = null; 14409 #collapsedHeight = 0; 14410 14411 connectedCallback() { 14412 const content = this.querySelector('.text-read-more__content'); 14413 const textElement = this.querySelector('.text-read-more__text'); 14414 const button = this.querySelector('.text-read-more__button'); 14415 14416 if (!content || !textElement || !button) return; 14417 14418 // Set initial state 14419 this.dataset.expanded = 'false'; 14420 14421 // Wait for content to render - use double RAF to ensure layout is complete 14422 requestAnimationFrame(() => { 14423 requestAnimationFrame(() => { 14424 // Additional small delay to ensure fonts and styles are applied 14425 setTimeout(() => { 14426 this.#checkOverflow(content, textElement, button); 14427 }, 50); 14428 14429 // Recheck on resize 14430 const resizeObserver = new ResizeObserver(() => { 14431 if (!this.#expanded) { 14432 this.#checkOverflow(content, textElement, button); 14433 } 14434 }); 14435 resizeObserver.observe(content); 14436 14437 // Setup button click handler 14438 button.addEventListener('click', (e) => { 14439 e.preventDefault(); 14440 this.#toggle(content, textElement, button); 14441 }); 14442 }); 14443 }); 14444 } 14445 14446 #checkOverflow(content, textElement, button) { 14447 // Ensure collapsed state is applied 14448 if (!textElement.classList.contains('text-read-more__text--collapsed')) { 14449 textElement.classList.add('text-read-more__text--collapsed'); 14450 } 14451 14452 // Get collapsed height first 14453 const collapsedHeight = content.scrollHeight; 14454 this.#collapsedHeight = collapsedHeight; 14455 14456 // Temporarily remove line-clamp to measure full height 14457 textElement.classList.remove('text-read-more__text--collapsed'); 14458 14459 // Force reflow 14460 void content.offsetHeight; 14461 14462 const fullHeight = content.scrollHeight; 14463 14464 // Restore line-clamp 14465 textElement.classList.add('text-read-more__text--collapsed'); 14466 14467 // Show button if content exceeds 2 lines (with small threshold for rounding) 14468 if (fullHeight > collapsedHeight + 5) { 14469 button.removeAttribute('hidden'); 14470 } else { 14471 button.setAttribute('hidden', ''); 14472 } 14473 } 14474 14475 #toggle(content, textElement, button) { 14476 const startHeight = content.offsetHeight; 14477 let endHeight; 14478 14479 if (!this.#expanded) { 14480 // Expanding 14481 textElement.classList.remove('text-read-more__text--collapsed'); 14482 endHeight = content.scrollHeight; 14483 this.#expanded = true; 14484 } else { 14485 // Collapsing 14486 endHeight = this.#collapsedHeight; 14487 this.#expanded = false; 14488 } 14489 14490 this.dataset.expanded = this.#expanded; 14491 button.setAttribute('aria-expanded', this.#expanded); 14492 14493 // Animate 14494 content.style.overflow = 'hidden'; 14495 this.#animation?.cancel(); 14496 14497 this.#animation = content.animate( 14498 { 14499 height: [`${startHeight}px`, `${endHeight}px`], 14500 }, 14501 { 14502 duration: 300, 14503 easing: 'ease-in-out', 14504 } 14505 ); 14506 14507 this.#animation.onfinish = () => { 14508 if (this.#expanded) { 14509 content.style.removeProperty('height'); 14510 content.style.overflow = ''; 14511 } else { 14512 textElement.classList.add('text-read-more__text--collapsed'); 14513 content.style.removeProperty('height'); 14514 content.style.overflow = ''; 14515 } 14516 }; 14517 } 14518 } 14519 14520 if (!customElements.get('text-read-more-wrapper')) { 14521 customElements.define('text-read-more-wrapper', TextReadMoreWrapper); 14522 } 14523</script>
14523 14524 14525 14526 14527 14528 </div> 14529 </details> 14530</accordion-custom> 14531 14532 14533 14534 14535 14536 14537</div> 14538 14539 14540 14541 14542 14543 14544 </div> 14545 </div> 14546</div> 14547 14548 14549 14550 14551 14552</div><div id="shopify-section-template--28213213725018__divider_jQbce4" class="shopify-section"> 14553 14554 14555 14556 14557 14558<div class="section-background color-scheme-4"></div> 14559<div 14560 class="section section--full-width color-scheme-4" 14561 data-testid="divider-template--28213213725018__divider_jQbce4" 14562> 14563 <div 14564 class="divider divider-template--28213213725018__divider_jQbce4 spacing-style" 14565 style=" 14566 --divider-justify-content: center; 14567 --padding-block-start: max(20px, calc(var(--spacing-scale) * 40px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 40px)); 14568 " 14569 14570 14571> 14572 <span 14573 class="divider__line" 14574 style=" 14575 --divider-border-thickness: 1px; 14576 14577 --divider-flex-basis: 100%; 14578 " 14579 ></span> 14580</div> 14581 14582 14583 14584</div> 14585 14586 14587</div><div id="shopify-section-template--28213213725018__section_bfrx43" class="shopify-section section-wrapper"> 14588 14589 14590 14591<div class="section-background color-scheme-2"></div> 14592<div 14593 class="section section--page-width color-scheme-2" 14594 data-testid="ui-test-section" 14595 14596 14597 14598 style=" 14599 14600 14601 14602 " 14603> 14604 <div class="custom-section-background"> 14605 14606 14607 14608 14609 </div> 14610 14611 <div 14612 class="border-style custom-section-content" 14613 style="--border-width: 1px; --border-style: none; --border-color: 14614rgb(var(--color-border-rgb) / 1.0); --border-radius: 146150px; 14616" 14617 > 14618 14619 14620 <div 14621 class=" 14622 spacing-style 14623 layout-panel-flex 14624 layout-panel-flex--row 14625 section-content-wrapper 14626 mobile-column 14627 " 14628 style=" 14629 --flex-direction: row; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 14630 14631--gap: 24px; 14632 14633--horizontal-alignment: flex-start; --vertical-alignment: center; 14634--vertical-alignment-mobile: center; 14635 14636 --padding-block-start: max(20px, calc(var(--spacing-scale) * 50px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 50px)); 14637 " 14638 data-testid="section-content" 14639 > 14640 14641 14642 14643 14644<div 14645 class=" 14646 group-block 14647 group-block--height-fit 14648 group-block--width-fill 14649 border-style 14650 spacing-style 14651 size-style 14652 group-block--text-arrow-on-hover 14653 14654 14655 14656 " 14657 style=" 14658 --border-width: 1px; --border-style: none; --border-color: 14659rgb(var(--color-border-rgb) / 1.0); --border-radius: 1466012px; overflow: hidden; 14661 14662 --padding-block-start: max(20px, calc(var(--spacing-scale) * 100px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 36px));--padding-inline-start: max(20px, calc(var(--spacing-scale) * 36px));--padding-inline-end: max(20px, calc(var(--spacing-scale) * 36px)); 14663 --size-style-width: 100%;--size-style-height: fit;--size-style-height-mobile: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem; 14664 14665 " 14666 14667 data-testid="group-block" 14668><div class="group-block__media-wrapper"> 14669 14670 <div 14671 class="background-image-container" 14672 > 14673 14674 14675 <img src="//www.tnbl.co.uk/cdn/shop/files/Nail_Courses.png?v=1766494674&width=3840" alt="" srcset="//www.tnbl.co.uk/cdn/shop/files/Nail_Courses.png?v=1766494674&width=832 832w, //www.tnbl.co.uk/cdn/shop/files/Nail_Courses.png?v=1766494674&width=1200 1200w, //www.tnbl.co.uk/cdn/shop/files/Nail_Courses.png?v=1766494674&width=1600 1600w, //www.tnbl.co.uk/cdn/shop/files/Nail_Courses.png?v=1766494674&width=1920 1920w, //www.tnbl.co.uk/cdn/shop/files/Nail_Courses.png?v=1766494674&width=2560 2560w, //www.tnbl.co.uk/cdn/shop/files/Nail_Courses.png?v=1766494674&width=3840 3840w" width="3840" height="2152" loading="lazy" sizes="(min-width: 1440px) 1440px, 100vw" fetchpriority="auto"> 14676</div> 14677 14678 14679 14680 14681 14682 </div> 14683 14684 <div 14685 class=" 14686 group-block-content 14687 14688 layout-panel-flex 14689 layout-panel-flex--column 14690 mobile-column 14691 14692 14693 " 14694 14695 style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 14696 14697--gap: 12px; 14698 14699--horizontal-alignment: flex-start; --vertical-alignment: flex-end; 14700--vertical-alignment-mobile: flex-end; 14701" 14702 > 14703 14704 14705 14706 14707 14708 14709 14710 14711 14712 14713 <div class=" spacing-style text-block text-block--AR00xWEF0SFNLT3BZY__text_QQb4U6 h3 " style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground); --width: fit-content; --max-width: var(--max-width--body-normal); "> 14714 <h2>Nail Courses</h2> 14715 </div> 14716 14717 14718 14719 14720
14721<script type="module"> 14722 class TextReadMoreWrapper extends HTMLElement { 14723 #expanded = false; 14724 #animation = null; 14725 #collapsedHeight = 0; 14726 14727 connectedCallback() { 14728 const content = this.querySelector('.text-read-more__content'); 14729 const textElement = this.querySelector('.text-read-more__text'); 14730 const button = this.querySelector('.text-read-more__button'); 14731 14732 if (!content || !textElement || !button) return; 14733 14734 // Set initial state 14735 this.dataset.expanded = 'false'; 14736 14737 // Wait for content to render - use double RAF to ensure layout is complete 14738 requestAnimationFrame(() => { 14739 requestAnimationFrame(() => { 14740 // Additional small delay to ensure fonts and styles are applied 14741 setTimeout(() => { 14742 this.#checkOverflow(content, textElement, button); 14743 }, 50); 14744 14745 // Recheck on resize 14746 const resizeObserver = new ResizeObserver(() => { 14747 if (!this.#expanded) { 14748 this.#checkOverflow(content, textElement, button); 14749 } 14750 }); 14751 resizeObserver.observe(content); 14752 14753 // Setup button click handler 14754 button.addEventListener('click', (e) => { 14755 e.preventDefault(); 14756 this.#toggle(content, textElement, button); 14757 }); 14758 }); 14759 }); 14760 } 14761 14762 #checkOverflow(content, textElement, button) { 14763 // Ensure collapsed state is applied 14764 if (!textElement.classList.contains('text-read-more__text--collapsed')) { 14765 textElement.classList.add('text-read-more__text--collapsed'); 14766 } 14767 14768 // Get collapsed height first 14769 const collapsedHeight = content.scrollHeight; 14770 this.#collapsedHeight = collapsedHeight; 14771 14772 // Temporarily remove line-clamp to measure full height 14773 textElement.classList.remove('text-read-more__text--collapsed'); 14774 14775 // Force reflow 14776 void content.offsetHeight; 14777 14778 const fullHeight = content.scrollHeight; 14779 14780 // Restore line-clamp 14781 textElement.classList.add('text-read-more__text--collapsed'); 14782 14783 // Show button if content exceeds 2 lines (with small threshold for rounding) 14784 if (fullHeight > collapsedHeight + 5) { 14785 button.removeAttribute('hidden'); 14786 } else { 14787 button.setAttribute('hidden', ''); 14788 } 14789 } 14790 14791 #toggle(content, textElement, button) { 14792 const startHeight = content.offsetHeight; 14793 let endHeight; 14794 14795 if (!this.#expanded) { 14796 // Expanding 14797 textElement.classList.remove('text-read-more__text--collapsed'); 14798 endHeight = content.scrollHeight; 14799 this.#expanded = true; 14800 } else { 14801 // Collapsing 14802 endHeight = this.#collapsedHeight; 14803 this.#expanded = false; 14804 } 14805 14806 this.dataset.expanded = this.#expanded; 14807 button.setAttribute('aria-expanded', this.#expanded); 14808 14809 // Animate 14810 content.style.overflow = 'hidden'; 14811 this.#animation?.cancel(); 14812 14813 this.#animation = content.animate( 14814 { 14815 height: [`${startHeight}px`, `${endHeight}px`], 14816 }, 14817 { 14818 duration: 300, 14819 easing: 'ease-in-out', 14820 } 14821 ); 14822 14823 this.#animation.onfinish = () => { 14824 if (this.#expanded) { 14825 content.style.removeProperty('height'); 14826 content.style.overflow = ''; 14827 } else { 14828 textElement.classList.add('text-read-more__text--collapsed'); 14829 content.style.removeProperty('height'); 14830 content.style.overflow = ''; 14831 } 14832 }; 14833 } 14834 } 14835 14836 if (!customElements.get('text-read-more-wrapper')) { 14837 customElements.define('text-read-more-wrapper', TextReadMoreWrapper); 14838 } 14839</script>
14839 14840 14841 14842 14843 14844 14845 14846 14847 14848 14849 14850 14851 14852 14853 <rte-formatter class=" spacing-style text-block text-block--AdFM5bUFNQ3hOc2llM__text_YrydRk rte rte " 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); "> 14854 <p>Unlock the secrets of nail artistry</p> 14855 </rte-formatter> 14856 14857 14858 14859 14860
14861<script type="module"> 14862 class TextReadMoreWrapper extends HTMLElement { 14863 #expanded = false; 14864 #animation = null; 14865 #collapsedHeight = 0; 14866 14867 connectedCallback() { 14868 const content = this.querySelector('.text-read-more__content'); 14869 const textElement = this.querySelector('.text-read-more__text'); 14870 const button = this.querySelector('.text-read-more__button'); 14871 14872 if (!content || !textElement || !button) return; 14873 14874 // Set initial state 14875 this.dataset.expanded = 'false'; 14876 14877 // Wait for content to render - use double RAF to ensure layout is complete 14878 requestAnimationFrame(() => { 14879 requestAnimationFrame(() => { 14880 // Additional small delay to ensure fonts and styles are applied 14881 setTimeout(() => { 14882 this.#checkOverflow(content, textElement, button); 14883 }, 50); 14884 14885 // Recheck on resize 14886 const resizeObserver = new ResizeObserver(() => { 14887 if (!this.#expanded) { 14888 this.#checkOverflow(content, textElement, button); 14889 } 14890 }); 14891 resizeObserver.observe(content); 14892 14893 // Setup button click handler 14894 button.addEventListener('click', (e) => { 14895 e.preventDefault(); 14896 this.#toggle(content, textElement, button); 14897 }); 14898 }); 14899 }); 14900 } 14901 14902 #checkOverflow(content, textElement, button) { 14903 // Ensure collapsed state is applied 14904 if (!textElement.classList.contains('text-read-more__text--collapsed')) { 14905 textElement.classList.add('text-read-more__text--collapsed'); 14906 } 14907 14908 // Get collapsed height first 14909 const collapsedHeight = content.scrollHeight; 14910 this.#collapsedHeight = collapsedHeight; 14911 14912 // Temporarily remove line-clamp to measure full height 14913 textElement.classList.remove('text-read-more__text--collapsed'); 14914 14915 // Force reflow 14916 void content.offsetHeight; 14917 14918 const fullHeight = content.scrollHeight; 14919 14920 // Restore line-clamp 14921 textElement.classList.add('text-read-more__text--collapsed'); 14922 14923 // Show button if content exceeds 2 lines (with small threshold for rounding) 14924 if (fullHeight > collapsedHeight + 5) { 14925 button.removeAttribute('hidden'); 14926 } else { 14927 button.setAttribute('hidden', ''); 14928 } 14929 } 14930 14931 #toggle(content, textElement, button) { 14932 const startHeight = content.offsetHeight; 14933 let endHeight; 14934 14935 if (!this.#expanded) { 14936 // Expanding 14937 textElement.classList.remove('text-read-more__text--collapsed'); 14938 endHeight = content.scrollHeight; 14939 this.#expanded = true; 14940 } else { 14941 // Collapsing 14942 endHeight = this.#collapsedHeight; 14943 this.#expanded = false; 14944 } 14945 14946 this.dataset.expanded = this.#expanded; 14947 button.setAttribute('aria-expanded', this.#expanded); 14948 14949 // Animate 14950 content.style.overflow = 'hidden'; 14951 this.#animation?.cancel(); 14952 14953 this.#animation = content.animate( 14954 { 14955 height: [`${startHeight}px`, `${endHeight}px`], 14956 }, 14957 { 14958 duration: 300, 14959 easing: 'ease-in-out', 14960 } 14961 ); 14962 14963 this.#animation.onfinish = () => { 14964 if (this.#expanded) { 14965 content.style.removeProperty('height'); 14966 content.style.overflow = ''; 14967 } else { 14968 textElement.classList.add('text-read-more__text--collapsed'); 14969 content.style.removeProperty('height'); 14970 content.style.overflow = ''; 14971 } 14972 }; 14973 } 14974 } 14975 14976 if (!customElements.get('text-read-more-wrapper')) { 14977 customElements.define('text-read-more-wrapper', TextReadMoreWrapper); 14978 } 14979</script>
14979 14980 14981 14982 14983 14984</div> 14985</div> 14986 14987 14988
14989<script type="module"> 14990 (function() { 14991 // Only run if Intersection Observer is supported 14992 if (typeof IntersectionObserver === 'undefined') { 14993 // Fallback: show all animated content immediately 14994 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 14995 el.classList.add('group-block-content--in-view'); 14996 }); 14997 return; 14998 } 14999 15000 // Respect reduced motion preference 15001 const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches; 15002 if (prefersReducedMotion) { 15003 // Show all animated content immediately without animation 15004 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 15005 el.style.opacity = '1'; 15006 el.style.transform = 'none'; 15007 }); 15008 return; 15009 } 15010 15011 // Set up Intersection Observer for scroll-triggered animations 15012 const observerOptions = { 15013 root: null, 15014 rootMargin: '0px 0px -10% 0px', // Trigger when element is 10% from bottom of viewport 15015 threshold: 0.1 // Trigger when 10% of element is visible 15016 }; 15017 15018 const observer = new IntersectionObserver((entries) => { 15019 entries.forEach(entry => { 15020 if (entry.isIntersecting) { 15021 const contentElement = entry.target; 15022 // Add the in-view class to trigger animation 15023 contentElement.classList.add('group-block-content--in-view'); 15024 // Unobserve after animation is triggered (only animate once) 15025 observer.unobserve(contentElement); 15026 } 15027 }); 15028 }, observerOptions); 15029 15030 // Observe all group blocks with animations 15031 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 15032 observer.observe(el); 15033 }); 15034 })(); 15035</script>
15035 15036 15037 15038 15039 15040 15041 15042<div 15043 class=" 15044 group-block 15045 group-block--height-fit 15046 group-block--width-fill 15047 border-style 15048 spacing-style 15049 size-style 15050 group-block--text-arrow-on-hover 15051 15052 15053 15054 " 15055 style=" 15056 --border-width: 1px; --border-style: none; --border-color: 15057rgb(var(--color-border-rgb) / 1.0); --border-radius: 1505812px; overflow: hidden; 15059 15060 --padding-block-start: max(20px, calc(var(--spacing-scale) * 100px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 36px));--padding-inline-start: max(20px, calc(var(--spacing-scale) * 36px));--padding-inline-end: max(20px, calc(var(--spacing-scale) * 36px)); 15061 --size-style-width: 100%;--size-style-height: fit;--size-style-height-mobile: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem; 15062 15063 " 15064 15065 data-testid="group-block" 15066><div class="group-block__media-wrapper"> 15067 15068 <div 15069 class="background-image-container" 15070 > 15071 15072 15073 <img src="//www.tnbl.co.uk/cdn/shop/files/Trade_Accounts.png?v=1766494686&width=3840" alt="" srcset="//www.tnbl.co.uk/cdn/shop/files/Trade_Accounts.png?v=1766494686&width=832 832w, //www.tnbl.co.uk/cdn/shop/files/Trade_Accounts.png?v=1766494686&width=1200 1200w, //www.tnbl.co.uk/cdn/shop/files/Trade_Accounts.png?v=1766494686&width=1600 1600w, //www.tnbl.co.uk/cdn/shop/files/Trade_Accounts.png?v=1766494686&width=1920 1920w, //www.tnbl.co.uk/cdn/shop/files/Trade_Accounts.png?v=1766494686&width=2560 2560w, //www.tnbl.co.uk/cdn/shop/files/Trade_Accounts.png?v=1766494686&width=3840 3840w" width="3840" height="2152" loading="lazy" sizes="(min-width: 1440px) 1440px, 100vw" fetchpriority="auto"> 15074</div> 15075 15076 15077 15078 15079 15080 </div> 15081 15082 <div 15083 class=" 15084 group-block-content 15085 15086 layout-panel-flex 15087 layout-panel-flex--column 15088 mobile-column 15089 15090 15091 " 15092 15093 style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 15094 15095--gap: 12px; 15096 15097--horizontal-alignment: flex-start; --vertical-alignment: flex-end; 15098--vertical-alignment-mobile: flex-end; 15099" 15100 > 15101 15102 15103 15104 15105 15106 15107 15108 15109 15110 15111 <div class=" spacing-style text-block text-block--AcXp0M0dyUG5TZHIzc__text_fJ3rRW h3 " style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground); --width: fit-content; --max-width: var(--max-width--body-normal); "> 15112 <h2>Trade Account</h2> 15113 </div> 15114 15115 15116 15117 15118
15119<script type="module"> 15120 class TextReadMoreWrapper extends HTMLElement { 15121 #expanded = false; 15122 #animation = null; 15123 #collapsedHeight = 0; 15124 15125 connectedCallback() { 15126 const content = this.querySelector('.text-read-more__content'); 15127 const textElement = this.querySelector('.text-read-more__text'); 15128 const button = this.querySelector('.text-read-more__button'); 15129 15130 if (!content || !textElement || !button) return; 15131 15132 // Set initial state 15133 this.dataset.expanded = 'false'; 15134 15135 // Wait for content to render - use double RAF to ensure layout is complete 15136 requestAnimationFrame(() => { 15137 requestAnimationFrame(() => { 15138 // Additional small delay to ensure fonts and styles are applied 15139 setTimeout(() => { 15140 this.#checkOverflow(content, textElement, button); 15141 }, 50); 15142 15143 // Recheck on resize 15144 const resizeObserver = new ResizeObserver(() => { 15145 if (!this.#expanded) { 15146 this.#checkOverflow(content, textElement, button); 15147 } 15148 }); 15149 resizeObserver.observe(content); 15150 15151 // Setup button click handler 15152 button.addEventListener('click', (e) => { 15153 e.preventDefault(); 15154 this.#toggle(content, textElement, button); 15155 }); 15156 }); 15157 }); 15158 } 15159 15160 #checkOverflow(content, textElement, button) { 15161 // Ensure collapsed state is applied 15162 if (!textElement.classList.contains('text-read-more__text--collapsed')) { 15163 textElement.classList.add('text-read-more__text--collapsed'); 15164 } 15165 15166 // Get collapsed height first 15167 const collapsedHeight = content.scrollHeight; 15168 this.#collapsedHeight = collapsedHeight; 15169 15170 // Temporarily remove line-clamp to measure full height 15171 textElement.classList.remove('text-read-more__text--collapsed'); 15172 15173 // Force reflow 15174 void content.offsetHeight; 15175 15176 const fullHeight = content.scrollHeight; 15177 15178 // Restore line-clamp 15179 textElement.classList.add('text-read-more__text--collapsed'); 15180 15181 // Show button if content exceeds 2 lines (with small threshold for rounding) 15182 if (fullHeight > collapsedHeight + 5) { 15183 button.removeAttribute('hidden'); 15184 } else { 15185 button.setAttribute('hidden', ''); 15186 } 15187 } 15188 15189 #toggle(content, textElement, button) { 15190 const startHeight = content.offsetHeight; 15191 let endHeight; 15192 15193 if (!this.#expanded) { 15194 // Expanding 15195 textElement.classList.remove('text-read-more__text--collapsed'); 15196 endHeight = content.scrollHeight; 15197 this.#expanded = true; 15198 } else { 15199 // Collapsing 15200 endHeight = this.#collapsedHeight; 15201 this.#expanded = false; 15202 } 15203 15204 this.dataset.expanded = this.#expanded; 15205 button.setAttribute('aria-expanded', this.#expanded); 15206 15207 // Animate 15208 content.style.overflow = 'hidden'; 15209 this.#animation?.cancel(); 15210 15211 this.#animation = content.animate( 15212 { 15213 height: [`${startHeight}px`, `${endHeight}px`], 15214 }, 15215 { 15216 duration: 300, 15217 easing: 'ease-in-out', 15218 } 15219 ); 15220 15221 this.#animation.onfinish = () => { 15222 if (this.#expanded) { 15223 content.style.removeProperty('height'); 15224 content.style.overflow = ''; 15225 } else { 15226 textElement.classList.add('text-read-more__text--collapsed'); 15227 content.style.removeProperty('height'); 15228 content.style.overflow = ''; 15229 } 15230 }; 15231 } 15232 } 15233 15234 if (!customElements.get('text-read-more-wrapper')) { 15235 customElements.define('text-read-more-wrapper', TextReadMoreWrapper); 15236 } 15237</script>
15237 15238 15239 15240 15241 15242 15243 15244 15245 15246 15247 15248 15249 15250 15251 <rte-formatter class=" spacing-style text-block text-block--AK1EwdWRUdDBjMUpJZ__text_q7UrqY rte rte " 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); "> 15252 <p>Join for instant members-only benefits</p> 15253 </rte-formatter> 15254 15255 15256 15257 15258
15259<script type="module"> 15260 class TextReadMoreWrapper extends HTMLElement { 15261 #expanded = false; 15262 #animation = null; 15263 #collapsedHeight = 0; 15264 15265 connectedCallback() { 15266 const content = this.querySelector('.text-read-more__content'); 15267 const textElement = this.querySelector('.text-read-more__text'); 15268 const button = this.querySelector('.text-read-more__button'); 15269 15270 if (!content || !textElement || !button) return; 15271 15272 // Set initial state 15273 this.dataset.expanded = 'false'; 15274 15275 // Wait for content to render - use double RAF to ensure layout is complete 15276 requestAnimationFrame(() => { 15277 requestAnimationFrame(() => { 15278 // Additional small delay to ensure fonts and styles are applied 15279 setTimeout(() => { 15280 this.#checkOverflow(content, textElement, button); 15281 }, 50); 15282 15283 // Recheck on resize 15284 const resizeObserver = new ResizeObserver(() => { 15285 if (!this.#expanded) { 15286 this.#checkOverflow(content, textElement, button); 15287 } 15288 }); 15289 resizeObserver.observe(content); 15290 15291 // Setup button click handler 15292 button.addEventListener('click', (e) => { 15293 e.preventDefault(); 15294 this.#toggle(content, textElement, button); 15295 }); 15296 }); 15297 }); 15298 } 15299 15300 #checkOverflow(content, textElement, button) { 15301 // Ensure collapsed state is applied 15302 if (!textElement.classList.contains('text-read-more__text--collapsed')) { 15303 textElement.classList.add('text-read-more__text--collapsed'); 15304 } 15305 15306 // Get collapsed height first 15307 const collapsedHeight = content.scrollHeight; 15308 this.#collapsedHeight = collapsedHeight; 15309 15310 // Temporarily remove line-clamp to measure full height 15311 textElement.classList.remove('text-read-more__text--collapsed'); 15312 15313 // Force reflow 15314 void content.offsetHeight; 15315 15316 const fullHeight = content.scrollHeight; 15317 15318 // Restore line-clamp 15319 textElement.classList.add('text-read-more__text--collapsed'); 15320 15321 // Show button if content exceeds 2 lines (with small threshold for rounding) 15322 if (fullHeight > collapsedHeight + 5) { 15323 button.removeAttribute('hidden'); 15324 } else { 15325 button.setAttribute('hidden', ''); 15326 } 15327 } 15328 15329 #toggle(content, textElement, button) { 15330 const startHeight = content.offsetHeight; 15331 let endHeight; 15332 15333 if (!this.#expanded) { 15334 // Expanding 15335 textElement.classList.remove('text-read-more__text--collapsed'); 15336 endHeight = content.scrollHeight; 15337 this.#expanded = true; 15338 } else { 15339 // Collapsing 15340 endHeight = this.#collapsedHeight; 15341 this.#expanded = false; 15342 } 15343 15344 this.dataset.expanded = this.#expanded; 15345 button.setAttribute('aria-expanded', this.#expanded); 15346 15347 // Animate 15348 content.style.overflow = 'hidden'; 15349 this.#animation?.cancel(); 15350 15351 this.#animation = content.animate( 15352 { 15353 height: [`${startHeight}px`, `${endHeight}px`], 15354 }, 15355 { 15356 duration: 300, 15357 easing: 'ease-in-out', 15358 } 15359 ); 15360 15361 this.#animation.onfinish = () => { 15362 if (this.#expanded) { 15363 content.style.removeProperty('height'); 15364 content.style.overflow = ''; 15365 } else { 15366 textElement.classList.add('text-read-more__text--collapsed'); 15367 content.style.removeProperty('height'); 15368 content.style.overflow = ''; 15369 } 15370 }; 15371 } 15372 } 15373 15374 if (!customElements.get('text-read-more-wrapper')) { 15375 customElements.define('text-read-more-wrapper', TextReadMoreWrapper); 15376 } 15377</script>
15377 15378 15379 15380 15381 15382</div> 15383</div> 15384 15385 15386
15387<script type="module"> 15388 (function() { 15389 // Only run if Intersection Observer is supported 15390 if (typeof IntersectionObserver === 'undefined') { 15391 // Fallback: show all animated content immediately 15392 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 15393 el.classList.add('group-block-content--in-view'); 15394 }); 15395 return; 15396 } 15397 15398 // Respect reduced motion preference 15399 const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches; 15400 if (prefersReducedMotion) { 15401 // Show all animated content immediately without animation 15402 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 15403 el.style.opacity = '1'; 15404 el.style.transform = 'none'; 15405 }); 15406 return; 15407 } 15408 15409 // Set up Intersection Observer for scroll-triggered animations 15410 const observerOptions = { 15411 root: null, 15412 rootMargin: '0px 0px -10% 0px', // Trigger when element is 10% from bottom of viewport 15413 threshold: 0.1 // Trigger when 10% of element is visible 15414 }; 15415 15416 const observer = new IntersectionObserver((entries) => { 15417 entries.forEach(entry => { 15418 if (entry.isIntersecting) { 15419 const contentElement = entry.target; 15420 // Add the in-view class to trigger animation 15421 contentElement.classList.add('group-block-content--in-view'); 15422 // Unobserve after animation is triggered (only animate once) 15423 observer.unobserve(contentElement); 15424 } 15425 }); 15426 }, observerOptions); 15427 15428 // Observe all group blocks with animations 15429 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 15430 observer.observe(el); 15431 }); 15432 })(); 15433</script>
15433 15434 15435 15436 15437 15438 15439 15440<div 15441 class=" 15442 group-block 15443 group-block--height-fit 15444 group-block--width-fill 15445 border-style 15446 spacing-style 15447 size-style 15448 group-block--text-arrow-on-hover 15449 15450 15451 15452 " 15453 style=" 15454 --border-width: 1px; --border-style: none; --border-color: 15455rgb(var(--color-border-rgb) / 1.0); --border-radius: 1545612px; overflow: hidden; 15457 15458 --padding-block-start: max(20px, calc(var(--spacing-scale) * 100px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 36px));--padding-inline-start: max(20px, calc(var(--spacing-scale) * 36px));--padding-inline-end: max(20px, calc(var(--spacing-scale) * 36px)); 15459 --size-style-width: 100%;--size-style-height: fit;--size-style-height-mobile: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem; 15460 15461 " 15462 15463 data-testid="group-block" 15464><div class="group-block__media-wrapper"> 15465 15466 <div 15467 class="background-image-container" 15468 > 15469 15470 15471 <img src="//www.tnbl.co.uk/cdn/shop/files/Our_Store.png?v=1766494696&width=3840" alt="" srcset="//www.tnbl.co.uk/cdn/shop/files/Our_Store.png?v=1766494696&width=832 832w, //www.tnbl.co.uk/cdn/shop/files/Our_Store.png?v=1766494696&width=1200 1200w, //www.tnbl.co.uk/cdn/shop/files/Our_Store.png?v=1766494696&width=1600 1600w, //www.tnbl.co.uk/cdn/shop/files/Our_Store.png?v=1766494696&width=1920 1920w, //www.tnbl.co.uk/cdn/shop/files/Our_Store.png?v=1766494696&width=2560 2560w, //www.tnbl.co.uk/cdn/shop/files/Our_Store.png?v=1766494696&width=3840 3840w" width="3840" height="2152" loading="lazy" sizes="(min-width: 1440px) 1440px, 100vw" fetchpriority="auto"> 15472</div> 15473 15474 15475 15476 15477 15478 </div> 15479 15480 <div 15481 class=" 15482 group-block-content 15483 15484 layout-panel-flex 15485 layout-panel-flex--column 15486 mobile-column 15487 15488 15489 " 15490 15491 style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 15492 15493--gap: 12px; 15494 15495--horizontal-alignment: flex-start; --vertical-alignment: flex-end; 15496--vertical-alignment-mobile: flex-end; 15497" 15498 > 15499 15500 15501 15502 15503 15504 15505 15506 15507 15508 15509 <div class=" spacing-style text-block text-block--AUEtudFUrb090UHdDc__text_WzqTCt h3 " style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground); --width: fit-content; --max-width: var(--max-width--body-normal); "> 15510 <h2>Our Store</h2> 15511 </div> 15512 15513 15514 15515 15516
15517<script type="module"> 15518 class TextReadMoreWrapper extends HTMLElement { 15519 #expanded = false; 15520 #animation = null; 15521 #collapsedHeight = 0; 15522 15523 connectedCallback() { 15524 const content = this.querySelector('.text-read-more__content'); 15525 const textElement = this.querySelector('.text-read-more__text'); 15526 const button = this.querySelector('.text-read-more__button'); 15527 15528 if (!content || !textElement || !button) return; 15529 15530 // Set initial state 15531 this.dataset.expanded = 'false'; 15532 15533 // Wait for content to render - use double RAF to ensure layout is complete 15534 requestAnimationFrame(() => { 15535 requestAnimationFrame(() => { 15536 // Additional small delay to ensure fonts and styles are applied 15537 setTimeout(() => { 15538 this.#checkOverflow(content, textElement, button); 15539 }, 50); 15540 15541 // Recheck on resize 15542 const resizeObserver = new ResizeObserver(() => { 15543 if (!this.#expanded) { 15544 this.#checkOverflow(content, textElement, button); 15545 } 15546 }); 15547 resizeObserver.observe(content); 15548 15549 // Setup button click handler 15550 button.addEventListener('click', (e) => { 15551 e.preventDefault(); 15552 this.#toggle(content, textElement, button); 15553 }); 15554 }); 15555 }); 15556 } 15557 15558 #checkOverflow(content, textElement, button) { 15559 // Ensure collapsed state is applied 15560 if (!textElement.classList.contains('text-read-more__text--collapsed')) { 15561 textElement.classList.add('text-read-more__text--collapsed'); 15562 } 15563 15564 // Get collapsed height first 15565 const collapsedHeight = content.scrollHeight; 15566 this.#collapsedHeight = collapsedHeight; 15567 15568 // Temporarily remove line-clamp to measure full height 15569 textElement.classList.remove('text-read-more__text--collapsed'); 15570 15571 // Force reflow 15572 void content.offsetHeight; 15573 15574 const fullHeight = content.scrollHeight; 15575 15576 // Restore line-clamp 15577 textElement.classList.add('text-read-more__text--collapsed'); 15578 15579 // Show button if content exceeds 2 lines (with small threshold for rounding) 15580 if (fullHeight > collapsedHeight + 5) { 15581 button.removeAttribute('hidden'); 15582 } else { 15583 button.setAttribute('hidden', ''); 15584 } 15585 } 15586 15587 #toggle(content, textElement, button) { 15588 const startHeight = content.offsetHeight; 15589 let endHeight; 15590 15591 if (!this.#expanded) { 15592 // Expanding 15593 textElement.classList.remove('text-read-more__text--collapsed'); 15594 endHeight = content.scrollHeight; 15595 this.#expanded = true; 15596 } else { 15597 // Collapsing 15598 endHeight = this.#collapsedHeight; 15599 this.#expanded = false; 15600 } 15601 15602 this.dataset.expanded = this.#expanded; 15603 button.setAttribute('aria-expanded', this.#expanded); 15604 15605 // Animate 15606 content.style.overflow = 'hidden'; 15607 this.#animation?.cancel(); 15608 15609 this.#animation = content.animate( 15610 { 15611 height: [`${startHeight}px`, `${endHeight}px`], 15612 }, 15613 { 15614 duration: 300, 15615 easing: 'ease-in-out', 15616 } 15617 ); 15618 15619 this.#animation.onfinish = () => { 15620 if (this.#expanded) { 15621 content.style.removeProperty('height'); 15622 content.style.overflow = ''; 15623 } else { 15624 textElement.classList.add('text-read-more__text--collapsed'); 15625 content.style.removeProperty('height'); 15626 content.style.overflow = ''; 15627 } 15628 }; 15629 } 15630 } 15631 15632 if (!customElements.get('text-read-more-wrapper')) { 15633 customElements.define('text-read-more-wrapper', TextReadMoreWrapper); 15634 } 15635</script>
15635 15636 15637 15638 15639 15640 15641 15642 15643 15644 15645 15646 15647 15648 15649 <rte-formatter class=" spacing-style text-block text-block--AeFNVMEtxOEF4bFpHN__text_9pFqMF rte rte " 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); "> 15650 <p>Come visit us in person</p> 15651 </rte-formatter> 15652 15653 15654 15655 15656
15657<script type="module"> 15658 class TextReadMoreWrapper extends HTMLElement { 15659 #expanded = false; 15660 #animation = null; 15661 #collapsedHeight = 0; 15662 15663 connectedCallback() { 15664 const content = this.querySelector('.text-read-more__content'); 15665 const textElement = this.querySelector('.text-read-more__text'); 15666 const button = this.querySelector('.text-read-more__button'); 15667 15668 if (!content || !textElement || !button) return; 15669 15670 // Set initial state 15671 this.dataset.expanded = 'false'; 15672 15673 // Wait for content to render - use double RAF to ensure layout is complete 15674 requestAnimationFrame(() => { 15675 requestAnimationFrame(() => { 15676 // Additional small delay to ensure fonts and styles are applied 15677 setTimeout(() => { 15678 this.#checkOverflow(content, textElement, button); 15679 }, 50); 15680 15681 // Recheck on resize 15682 const resizeObserver = new ResizeObserver(() => { 15683 if (!this.#expanded) { 15684 this.#checkOverflow(content, textElement, button); 15685 } 15686 }); 15687 resizeObserver.observe(content); 15688 15689 // Setup button click handler 15690 button.addEventListener('click', (e) => { 15691 e.preventDefault(); 15692 this.#toggle(content, textElement, button); 15693 }); 15694 }); 15695 }); 15696 } 15697 15698 #checkOverflow(content, textElement, button) { 15699 // Ensure collapsed state is applied 15700 if (!textElement.classList.contains('text-read-more__text--collapsed')) { 15701 textElement.classList.add('text-read-more__text--collapsed'); 15702 } 15703 15704 // Get collapsed height first 15705 const collapsedHeight = content.scrollHeight; 15706 this.#collapsedHeight = collapsedHeight; 15707 15708 // Temporarily remove line-clamp to measure full height 15709 textElement.classList.remove('text-read-more__text--collapsed'); 15710 15711 // Force reflow 15712 void content.offsetHeight; 15713 15714 const fullHeight = content.scrollHeight; 15715 15716 // Restore line-clamp 15717 textElement.classList.add('text-read-more__text--collapsed'); 15718 15719 // Show button if content exceeds 2 lines (with small threshold for rounding) 15720 if (fullHeight > collapsedHeight + 5) { 15721 button.removeAttribute('hidden'); 15722 } else { 15723 button.setAttribute('hidden', ''); 15724 } 15725 } 15726 15727 #toggle(content, textElement, button) { 15728 const startHeight = content.offsetHeight; 15729 let endHeight; 15730 15731 if (!this.#expanded) { 15732 // Expanding 15733 textElement.classList.remove('text-read-more__text--collapsed'); 15734 endHeight = content.scrollHeight; 15735 this.#expanded = true; 15736 } else { 15737 // Collapsing 15738 endHeight = this.#collapsedHeight; 15739 this.#expanded = false; 15740 } 15741 15742 this.dataset.expanded = this.#expanded; 15743 button.setAttribute('aria-expanded', this.#expanded); 15744 15745 // Animate 15746 content.style.overflow = 'hidden'; 15747 this.#animation?.cancel(); 15748 15749 this.#animation = content.animate( 15750 { 15751 height: [`${startHeight}px`, `${endHeight}px`], 15752 }, 15753 { 15754 duration: 300, 15755 easing: 'ease-in-out', 15756 } 15757 ); 15758 15759 this.#animation.onfinish = () => { 15760 if (this.#expanded) { 15761 content.style.removeProperty('height'); 15762 content.style.overflow = ''; 15763 } else { 15764 textElement.classList.add('text-read-more__text--collapsed'); 15765 content.style.removeProperty('height'); 15766 content.style.overflow = ''; 15767 } 15768 }; 15769 } 15770 } 15771 15772 if (!customElements.get('text-read-more-wrapper')) { 15773 customElements.define('text-read-more-wrapper', TextReadMoreWrapper); 15774 } 15775</script>
15775 15776 15777 15778 15779 15780</div> 15781</div> 15782 15783 15784
15785<script type="module"> 15786 (function() { 15787 // Only run if Intersection Observer is supported 15788 if (typeof IntersectionObserver === 'undefined') { 15789 // Fallback: show all animated content immediately 15790 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 15791 el.classList.add('group-block-content--in-view'); 15792 }); 15793 return; 15794 } 15795 15796 // Respect reduced motion preference 15797 const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches; 15798 if (prefersReducedMotion) { 15799 // Show all animated content immediately without animation 15800 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 15801 el.style.opacity = '1'; 15802 el.style.transform = 'none'; 15803 }); 15804 return; 15805 } 15806 15807 // Set up Intersection Observer for scroll-triggered animations 15808 const observerOptions = { 15809 root: null, 15810 rootMargin: '0px 0px -10% 0px', // Trigger when element is 10% from bottom of viewport 15811 threshold: 0.1 // Trigger when 10% of element is visible 15812 }; 15813 15814 const observer = new IntersectionObserver((entries) => { 15815 entries.forEach(entry => { 15816 if (entry.isIntersecting) { 15817 const contentElement = entry.target; 15818 // Add the in-view class to trigger animation 15819 contentElement.classList.add('group-block-content--in-view'); 15820 // Unobserve after animation is triggered (only animate once) 15821 observer.unobserve(contentElement); 15822 } 15823 }); 15824 }, observerOptions); 15825 15826 // Observe all group blocks with animations 15827 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 15828 observer.observe(el); 15829 }); 15830 })(); 15831</script>
15831 15832 15833 15834 15835 15836 15837 </div> 15838 </div> 15839</div> 15840 15841 15842 15843 15844 15845</div><div id="shopify-section-template--28213213725018__recently_viewed_Qp678z" class="shopify-section">
15845<script 15846 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/recently-viewed.js?v=139683603744368728561774530326" 15847 type="module" 15848 fetchpriority="low" 15849></script>
15849 15850 15851 15852 15853<recently-viewed 15854 id="recently-viewed-template--28213213725018__recently_viewed_Qp678z" 15855 class="recently-viewed" 15856 data-section-id="template--28213213725018__recently_viewed_Qp678z" 15857 data-products-count="8" 15858 data-testid="recently-viewed-section" 15859 data-has-recently-viewed="false" 15860 15861> 15862 <div class="section-background color-scheme-1"></div> 15863 <div 15864 class=" 15865 section 15866 section--page-width 15867 color-scheme-1 15868 section-resource-list 15869 spacing-style 15870 gap-style 15871 " 15872 style=" 15873 --padding-block-start: max(20px, calc(var(--spacing-scale) * 48px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 48px)); 15874 --gap: max(24px, calc(var(--gap-scale, 1.0) * 28px)); 15875 --column-count-mobile: 4;--resource-list-column-gap-desktop: 12px;--resource-list-row-gap-desktop: 24px;--resource-list-columns: repeat(8, 1fr);--resource-list-columns-mobile: repeat(4, 1fr);--resource-list-column-gap-desktop: 12px;--column-count: 8;--column-count-mobile: 4;--border-width: 1px;--border-style: none;--border-color: rgb(var(--color-border-rgb) / 100%);--border-radius: 0px; 15876 " 15877 > 15878 <div class="section-resource-list__content"> 15879 15880 15881 15882 15883 15884 15885 15886 15887 15888 15889 <rte-formatter class=" spacing-style text-block text-block--AZzFUZHppZkp4ODVkS__text_fHCjbG rte rte " 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); "> 15890 <h3>Recently Viewed</h3> 15891 </rte-formatter> 15892 15893 15894 15895 15896
15897<script type="module"> 15898 class TextReadMoreWrapper extends HTMLElement { 15899 #expanded = false; 15900 #animation = null; 15901 #collapsedHeight = 0; 15902 15903 connectedCallback() { 15904 const content = this.querySelector('.text-read-more__content'); 15905 const textElement = this.querySelector('.text-read-more__text'); 15906 const button = this.querySelector('.text-read-more__button'); 15907 15908 if (!content || !textElement || !button) return; 15909 15910 // Set initial state 15911 this.dataset.expanded = 'false'; 15912 15913 // Wait for content to render - use double RAF to ensure layout is complete 15914 requestAnimationFrame(() => { 15915 requestAnimationFrame(() => { 15916 // Additional small delay to ensure fonts and styles are applied 15917 setTimeout(() => { 15918 this.#checkOverflow(content, textElement, button); 15919 }, 50); 15920 15921 // Recheck on resize 15922 const resizeObserver = new ResizeObserver(() => { 15923 if (!this.#expanded) { 15924 this.#checkOverflow(content, textElement, button); 15925 } 15926 }); 15927 resizeObserver.observe(content); 15928 15929 // Setup button click handler 15930 button.addEventListener('click', (e) => { 15931 e.preventDefault(); 15932 this.#toggle(content, textElement, button); 15933 }); 15934 }); 15935 }); 15936 } 15937 15938 #checkOverflow(content, textElement, button) { 15939 // Ensure collapsed state is applied 15940 if (!textElement.classList.contains('text-read-more__text--collapsed')) { 15941 textElement.classList.add('text-read-more__text--collapsed'); 15942 } 15943 15944 // Get collapsed height first 15945 const collapsedHeight = content.scrollHeight; 15946 this.#collapsedHeight = collapsedHeight; 15947 15948 // Temporarily remove line-clamp to measure full height 15949 textElement.classList.remove('text-read-more__text--collapsed'); 15950 15951 // Force reflow 15952 void content.offsetHeight; 15953 15954 const fullHeight = content.scrollHeight; 15955 15956 // Restore line-clamp 15957 textElement.classList.add('text-read-more__text--collapsed'); 15958 15959 // Show button if content exceeds 2 lines (with small threshold for rounding) 15960 if (fullHeight > collapsedHeight + 5) { 15961 button.removeAttribute('hidden'); 15962 } else { 15963 button.setAttribute('hidden', ''); 15964 } 15965 } 15966 15967 #toggle(content, textElement, button) { 15968 const startHeight = content.offsetHeight; 15969 let endHeight; 15970 15971 if (!this.#expanded) { 15972 // Expanding 15973 textElement.classList.remove('text-read-more__text--collapsed'); 15974 endHeight = content.scrollHeight; 15975 this.#expanded = true; 15976 } else { 15977 // Collapsing 15978 endHeight = this.#collapsedHeight; 15979 this.#expanded = false; 15980 } 15981 15982 this.dataset.expanded = this.#expanded; 15983 button.setAttribute('aria-expanded', this.#expanded); 15984 15985 // Animate 15986 content.style.overflow = 'hidden'; 15987 this.#animation?.cancel(); 15988 15989 this.#animation = content.animate( 15990 { 15991 height: [`${startHeight}px`, `${endHeight}px`], 15992 }, 15993 { 15994 duration: 300, 15995 easing: 'ease-in-out', 15996 } 15997 ); 15998 15999 this.#animation.onfinish = () => { 16000 if (this.#expanded) { 16001 content.style.removeProperty('height'); 16002 content.style.overflow = ''; 16003 } else { 16004 textElement.classList.add('text-read-more__text--collapsed'); 16005 content.style.removeProperty('height'); 16006 content.style.overflow = ''; 16007 } 16008 }; 16009 } 16010 } 16011 16012 if (!customElements.get('text-read-more-wrapper')) { 16013 customElements.define('text-read-more-wrapper', TextReadMoreWrapper); 16014 } 16015</script>
16015 16016 16017 16018 16019 16020 </div><div 16021 class="resource-list resource-list--grid js-recentPdpBlockGrid" 16022 data-has-products="false" 16023 > 16024 </div></div> 16025</recently-viewed> 16026 16027 16028 16029 16030</div> 16031 </main> 16032 16033 <!-- BEGIN sections: footer-group --> 16034<footer id="shopify-section-sections--28213213528410__footer_m9NzUG" class="shopify-section shopify-section-group-footer-group section-wrapper"> 16035 16036<div class="section-background color-scheme-3"></div> 16037<div 16038 class="section section--page-width color-scheme-3" 16039> 16040 16041 <div 16042 class=" 16043 footer-content 16044 spacing-style 16045 16046 16047 " 16048 style=" 16049 --padding-block-start: max(20px, calc(var(--spacing-scale) * 30px));--padding-block-end: 0px; 16050 --footer-gap: 20px; 16051 --grid-columns: 1; 16052 --last-row-count: 1; 16053 --tablet-last-row-count: 1; 16054 " 16055 > 16056 16057 16058 16059<div 16060 class=" 16061 group-block 16062 group-block--height-fit 16063 group-block--width-fill 16064 border-style 16065 spacing-style 16066 size-style 16067 16068 16069 16070 16071 " 16072 style=" 16073 --border-width: 1px; --border-style: none; --border-color: 16074rgb(var(--color-border-rgb) / 1.0); --border-radius: 160750px; 16076 16077 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 16078 --size-style-width: 100%;--size-style-height: fit;--size-style-height-mobile: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem; 16079 16080 " 16081 16082 data-testid="group-block" 16083><div class="group-block__media-wrapper"> 16084 16085 16086 16087 16088 16089 </div> 16090 16091 <div 16092 class=" 16093 group-block-content 16094 16095 layout-panel-flex 16096 layout-panel-flex--column 16097 mobile-column 16098 16099 16100 " 16101 16102 style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 16103 16104--gap: 12px; 16105 16106--horizontal-alignment: flex-start; --vertical-alignment: center; 16107--vertical-alignment-mobile: center; 16108" 16109 > 16110 16111 16112 16113<div 16114 class=" 16115 group-block 16116 group-block--height-fit 16117 group-block--width-fill 16118 border-style 16119 spacing-style 16120 size-style 16121 16122 16123 16124 16125 " 16126 style=" 16127 --border-width: 1px; --border-style: none; --border-color: 16128rgb(var(--color-border-rgb) / 1.0); --border-radius: 161290px; 16130 16131 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 16132 --size-style-width: 100%;--size-style-height: fit;--size-style-height-mobile: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem; 16133 16134 " 16135 16136 data-testid="group-block" 16137><div class="group-block__media-wrapper"> 16138 16139 16140 16141 16142 16143 </div> 16144 16145 <div 16146 class=" 16147 group-block-content 16148 16149 layout-panel-flex 16150 layout-panel-flex--column 16151 mobile-column 16152 16153 16154 " 16155 16156 style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 16157 16158--gap: 12px; 16159 16160--horizontal-alignment: flex-start; --vertical-alignment: center; 16161--vertical-alignment-mobile: center; 16162" 16163 > 16164 16165 16166 16167<email-signup-block 16168 class="email-signup-block size-style spacing-style" 16169 style="--size-style-width: 100%;--size-style-height: ;--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;" 16170 16171> 16172 16173 <div class="email-signup__heading paragraph"> 16174 Newsletter 16175 </div> 16176 16177<form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="email-signup__form spacing-style"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /> 16178 <div 16179 class="email-signup__input-group " 16180 style="--border-width: 1px; --border-radius: 100px;" 16181 > 16182 <label 16183 for="EmailInput-ANTllNjRyTVZRaVNTW__email_signup_JFmxQg" 16184 class="visually-hidden" 16185 > 16186 Email 16187 </label> 16188 <input 16189 id="EmailInput-ANTllNjRyTVZRaVNTW__email_signup_JFmxQg" 16190 class="email-signup__input email-signup__input--underline h3 " 16191 type="email" 16192 name="contact[email]" 16193 autocorrect="off" 16194 autocapitalize="off" 16195 autocomplete="email" 16196 placeholder="Email address" 16197 required 16198 16199 > 16200 <button 16201 class="email-signup__button email-signup__button--integrated email-signup__button--both paragraph button-unstyled button-unstyled--ANTllNjRyTVZRaVNTW__email_signup_JFmxQg " 16202 16203 aria-label="Sign up" 16204 16205 > 16206 16207 Subscribe 16208 <svg
16209 viewBox="0 0 20 20" 16210 xmlns="http://www.w3.org/2000/svg" 16211 focusable="false" 16212 aria-hidden="true" 16213 class="email-signup__button-icon" 16214 > 16215 16216<path 16217 clip-rule="evenodd" 16218 d="m11.246 5.31759c.0322-.07821.0833-.14723.1486-.20093.0654-.0537.143-.09041.2259-.10686.083-.01645.1688-.01214.2497.01257.0808.0247.1544.06902.214.12902l4.104 4.104c.0478.04765.0857.10426.1115.16659.0259.06232.0392.12913.0392.19661 0 .06747-.0133.13429-.0392.19661-.0258.06233-.0637.11893-.1115.16659l-4.104 4.10401c-.0963.0963-.227.1504-.3632.1504s-.2669-.0541-.3632-.1504-.1504-.227-.1504-.3632.0541-.2669.1504-.3632l3.2288-3.2278h-11.0736c-.13606 0-.26654-.0541-.36275-.15027-.0962-.0962-.15025-.22669-.15025-.36274 0-.13606.05405-.26654.15025-.36275.09621-.0962.22669-.15025.36275-.15025h11.0736l-3.2288-3.2278c-.0721-.07178-.1212-.16335-.1411-.2631s-.0097-.20316.0293-.2971z" 16219 fill="currentColor" 16220 fill-rule="evenodd" 16221 /> 16222 </svg> 16223 16224 </button> 16225 </div></form> 16226 16227
16227<script 16228 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/email-signup.js?v=11926998321451148611774530326" 16229 defer 16230 ></script>
16230 16231</email-signup-block> 16232 16233 16234 16235 16236 16237</div> 16238</div> 16239 16240 16241
16242<script type="module"> 16243 (function() { 16244 // Only run if Intersection Observer is supported 16245 if (typeof IntersectionObserver === 'undefined') { 16246 // Fallback: show all animated content immediately 16247 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 16248 el.classList.add('group-block-content--in-view'); 16249 }); 16250 return; 16251 } 16252 16253 // Respect reduced motion preference 16254 const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches; 16255 if (prefersReducedMotion) { 16256 // Show all animated content immediately without animation 16257 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 16258 el.style.opacity = '1'; 16259 el.style.transform = 'none'; 16260 }); 16261 return; 16262 } 16263 16264 // Set up Intersection Observer for scroll-triggered animations 16265 const observerOptions = { 16266 root: null, 16267 rootMargin: '0px 0px -10% 0px', // Trigger when element is 10% from bottom of viewport 16268 threshold: 0.1 // Trigger when 10% of element is visible 16269 }; 16270 16271 const observer = new IntersectionObserver((entries) => { 16272 entries.forEach(entry => { 16273 if (entry.isIntersecting) { 16274 const contentElement = entry.target; 16275 // Add the in-view class to trigger animation 16276 contentElement.classList.add('group-block-content--in-view'); 16277 // Unobserve after animation is triggered (only animate once) 16278 observer.unobserve(contentElement); 16279 } 16280 }); 16281 }, observerOptions); 16282 16283 // Observe all group blocks with animations 16284 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 16285 observer.observe(el); 16286 }); 16287 })(); 16288</script>
16288 16289 16290 16291 16292 16293 16294 16295<div 16296 class=" 16297 group-block 16298 group-block--height-fit 16299 group-block--width-fill 16300 border-style 16301 spacing-style 16302 size-style 16303 16304 16305 16306 16307 " 16308 style=" 16309 --border-width: 1px; --border-style: none; --border-color: 16310rgb(var(--color-border-rgb) / 1.0); --border-radius: 163110px; 16312 16313 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 16314 --size-style-width: 100%;--size-style-height: fit;--size-style-height-mobile: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem; 16315 16316 " 16317 16318 data-testid="group-block" 16319><div class="group-block__media-wrapper"> 16320 16321 16322 16323 16324 16325 </div> 16326 16327 <div 16328 class=" 16329 group-block-content 16330 16331 layout-panel-flex 16332 layout-panel-flex--row 16333 mobile-column 16334 16335 16336 " 16337 16338 style="--flex-direction: row; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 16339 16340--gap: 24px; 16341 16342--horizontal-alignment: flex-start; --vertical-alignment: flex-start; 16343--vertical-alignment-mobile: flex-start; 16344" 16345 > 16346 16347 16348 16349 16350 16351 <accordion-custom 16352 class=" 16353 menu 16354 menu--accordion menu--plus 16355 menu--dividers 16356 16357 " 16358 data-disable-on-desktop="true" 16359 open-by-default-on-desktop 16360 16361 > 16362 <details 16363 class=" 16364 menu__details 16365 spacing-style 16366 16367 " 16368 data-testid="menu-details" 16369 style=" 16370 --spacing--size: 12px; 16371 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 16372 " 16373 16374 16375 > 16376 <summary class="menu__heading h4"> 16377 <span class="menu__heading__default">About TNBL</span> 16378 <span class="menu__heading__accordion"> 16379 About TNBL 16380 <span class="menu__heading__toggle svg-wrapper icon-caret icon-animated"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 16381 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 16382</svg> 16383</span> 16384 <span class="menu__heading__toggle svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 16385 <path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 16386 <path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 16387</svg> 16388</span> 16389 </span> 16390 </summary> 16391 16392 <div class="details-content"> 16393 16394 <ul class="list-unstyled"> 16395 16396 <li class="menu__item paragraph"> 16397 <a href="/pages/about-us"> 16398 About us 16399 16400 </a> 16401 </li> 16402 16403 <li class="menu__item paragraph"> 16404 <a href="/pages/our-store"> 16405 Our Store 16406 16407 </a> 16408 </li> 16409 16410 <li class="menu__item paragraph"> 16411 <a href="/blogs/blog"> 16412 Blog 16413 16414 </a> 16415 </li> 16416 16417 <li class="menu__item paragraph"> 16418 <a href="/pages/privacy-policy"> 16419 Privacy Policy 16420 16421 </a> 16422 </li> 16423 16424 <li class="menu__item paragraph"> 16425 <a href="/pages/cookie-policy"> 16426 Cookie Policy 16427 16428 </a> 16429 </li> 16430 16431 </ul> 16432 16433 </div> 16434 </details> 16435 </accordion-custom> 16436 16437 16438 16439 16440 16441 16442 16443 16444 16445 16446 <accordion-custom 16447 class=" 16448 menu 16449 menu--accordion menu--plus 16450 menu--dividers 16451 16452 " 16453 data-disable-on-desktop="true" 16454 open-by-default-on-desktop 16455 16456 > 16457 <details 16458 class=" 16459 menu__details 16460 spacing-style 16461 16462 " 16463 data-testid="menu-details" 16464 style=" 16465 --spacing--size: 12px; 16466 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 16467 " 16468 16469 16470 > 16471 <summary class="menu__heading h4">
16472 <span class="menu__heading__default">Orders</span> 16473 <span class="menu__heading__accordion"> 16474 Orders 16475 <span class="menu__heading__toggle svg-wrapper icon-caret icon-animated"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 16476 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 16477</svg> 16478</span> 16479 <span class="menu__heading__toggle svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 16480 <path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 16481 <path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 16482</svg> 16483</span> 16484 </span> 16485 </summary> 16486 16487 <div class="details-content"> 16488 16489 <ul class="list-unstyled"> 16490 16491 <li class="menu__item paragraph"> 16492 <a href="https://account.tnbl.co.uk/orders?locale=en®ion_country=GB&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJ0bmJsLXVrLm15c2hvcGlmeS5jb20iLCJmbGFncyI6W10sImV4cCI6MTc5MjEyMDk0NiwibmJmIjoxNzkxNTE2MTQ2fQ.8h-eaGfHNfVyonF4bzPk3oaKJZrHwdUEiqIXr1VLvJk"> 16493 Trade Account 16494 16495 </a> 16496 </li> 16497 16498 <li class="menu__item paragraph"> 16499 <a href="/pages/delivery-returns"> 16500 Delivery & Returns 16501 16502 </a> 16503 </li> 16504 16505 <li class="menu__item paragraph"> 16506 <a href="/policies/terms-of-service"> 16507 Terms & Conditions 16508 16509 </a> 16510 </li> 16511 16512 <li class="menu__item paragraph"> 16513 <a href="/products/tnbl-gift-card"> 16514 Gift Vouchers 16515 16516 </a> 16517 </li> 16518 16519 </ul> 16520 16521 </div> 16522 </details> 16523 </accordion-custom> 16524 16525 16526 16527 16528 16529 16530 16531<div class="group-accordion-block"><accordion-custom 16532 class=" 16533 group-accordion 16534 group-accordion--dividers 16535 " 16536 data-disable-on-desktop="true" 16537 open-by-default-on-desktop 16538 16539 > 16540 <details 16541 class=" 16542 group-accordion__details 16543 spacing-style 16544 16545 " 16546 data-testid="accordion-details" 16547 style=" 16548 --spacing--size: 12px; 16549 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 16550 " 16551 16552 16553 > 16554 <summary class="group-accordion__heading h4"> 16555 <span class="group-accordion__heading__default">Contact Us</span> 16556 <span class="group-accordion__heading__accordion"> 16557 Contact Us 16558 <span class="group-accordion__heading__toggle svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 16559 <path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 16560 <path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 16561</svg> 16562</span> 16563 </span> 16564 </summary> 16565 16566 <div class="details-content"> 16567 <div 16568 class=" 16569 group-block 16570 group-block--height-fit 16571 group-block--width-fill 16572 border-style 16573 spacing-style 16574 size-style 16575 16576 16577 16578 16579 " 16580 style=" 16581 --border-width: 1px; --border-style: none; --border-color: 16582rgb(var(--color-border-rgb) / 1.0); --border-radius: 165830px; 16584 16585 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 16586 --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem; 16587 16588 " 16589 16590 data-testid="group-block" 16591><div class="group-block__media-wrapper"> 16592 16593 16594 16595 16596 16597 </div> 16598 16599 <div 16600 class=" 16601 group-block-content 16602 16603 layout-panel-flex 16604 layout-panel-flex--column 16605 mobile-column 16606 16607 group-block-content--has-animation group-block-content--animate- 16608 " 16609 data-animation-type="" 16610 style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 16611 16612--gap: 12px; 16613 16614--horizontal-alignment: flex-start; --vertical-alignment: center; 16615--vertical-alignment-mobile: center; 16616" 16617 > 16618 16619 16620 16621 16622 16623 16624 16625 16626 16627 16628 <rte-formatter class=" spacing-style text-block text-block--ANEFuMGl2QjlIQXE1b__text_KwyarJ rte rte " 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); "> 16629 <p>50-62 Hockley Street</p><p>Birmingham, B18 6BH</p><p>0121 523 5535</p><p>[email protected]</p><p>Company Registration Number: 10765654 </p><p>VAT no. 276203803</p> 16630 </rte-formatter> 16631 16632 16633 16634 16635
16636<script type="module"> 16637 class TextReadMoreWrapper extends HTMLElement { 16638 #expanded = false; 16639 #animation = null; 16640 #collapsedHeight = 0; 16641 16642 connectedCallback() { 16643 const content = this.querySelector('.text-read-more__content'); 16644 const textElement = this.querySelector('.text-read-more__text'); 16645 const button = this.querySelector('.text-read-more__button'); 16646 16647 if (!content || !textElement || !button) return; 16648 16649 // Set initial state 16650 this.dataset.expanded = 'false'; 16651 16652 // Wait for content to render - use double RAF to ensure layout is complete 16653 requestAnimationFrame(() => { 16654 requestAnimationFrame(() => { 16655 // Additional small delay to ensure fonts and styles are applied 16656 setTimeout(() => { 16657 this.#checkOverflow(content, textElement, button); 16658 }, 50); 16659 16660 // Recheck on resize 16661 const resizeObserver = new ResizeObserver(() => { 16662 if (!this.#expanded) { 16663 this.#checkOverflow(content, textElement, button); 16664 } 16665 }); 16666 resizeObserver.observe(content); 16667 16668 // Setup button click handler 16669 button.addEventListener('click', (e) => { 16670 e.preventDefault(); 16671 this.#toggle(content, textElement, button); 16672 }); 16673 }); 16674 }); 16675 } 16676 16677 #checkOverflow(content, textElement, button) { 16678 // Ensure collapsed state is applied 16679 if (!textElement.classList.contains('text-read-more__text--collapsed')) { 16680 textElement.classList.add('text-read-more__text--collapsed'); 16681 } 16682 16683 // Get collapsed height first 16684 const collapsedHeight = content.scrollHeight; 16685 this.#collapsedHeight = collapsedHeight; 16686 16687 // Temporarily remove line-clamp to measure full height 16688 textElement.classList.remove('text-read-more__text--collapsed'); 16689 16690 // Force reflow 16691 void content.offsetHeight; 16692 16693 const fullHeight = content.scrollHeight; 16694 16695 // Restore line-clamp 16696 textElement.classList.add('text-read-more__text--collapsed'); 16697 16698 // Show button if content exceeds 2 lines (with small threshold for rounding) 16699 if (fullHeight > collapsedHeight + 5) { 16700 button.removeAttribute('hidden'); 16701 } else { 16702 button.setAttribute('hidden', ''); 16703 } 16704 } 16705 16706 #toggle(content, textElement, button) { 16707 const startHeight = content.offsetHeight; 16708 let endHeight; 16709 16710 if (!this.#expanded) { 16711 // Expanding 16712 textElement.classList.remove('text-read-more__text--collapsed'); 16713 endHeight = content.scrollHeight; 16714 this.#expanded = true; 16715 } else { 16716 // Collapsing 16717 endHeight = this.#collapsedHeight; 16718 this.#expanded = false; 16719 } 16720 16721 this.dataset.expanded = this.#expanded; 16722 button.setAttribute('aria-expanded', this.#expanded); 16723 16724 // Animate 16725 content.style.overflow = 'hidden'; 16726 this.#animation?.cancel(); 16727 16728 this.#animation = content.animate( 16729 { 16730 height: [`${startHeight}px`, `${endHeight}px`], 16731 }, 16732 { 16733 duration: 300, 16734 easing: 'ease-in-out', 16735 } 16736 ); 16737 16738 this.#animation.onfinish = () => { 16739 if (this.#expanded) { 16740 content.style.removeProperty('height'); 16741 content.style.overflow = ''; 16742 } else { 16743 textElement.classList.add('text-read-more__text--collapsed'); 16744 content.style.removeProperty('height'); 16745 content.style.overflow = ''; 16746 } 16747 }; 16748 } 16749 } 16750 16751 if (!customElements.get('text-read-more-wrapper')) { 16752 customElements.define('text-read-more-wrapper', TextReadMoreWrapper); 16753 } 16754</script>
16754 16755 16756 16757 16758 16759 16760 16761 16762 16763<a 16764 16765 href="/pages/contact" 16766 16767 class=" 16768 size-style 16769 link 16770 link--AcEFnVjVYMFVhK2wvU__button_hXfpnL 16771 16772 16773 " 16774 style="--size-style-width: fit-content;--size-style-height: fit-content;--size-style-width-mobile: fit-content; --size-style-width-mobile-min: fit-content;" 16775> 16776 Contact Us 16777 16778</a> 16779 16780 16781 16782 16783 16784 16785</div> 16786</div> 16787 16788 16789
16790<script type="module"> 16791 (function() { 16792 // Only run if Intersection Observer is supported 16793 if (typeof IntersectionObserver === 'undefined') { 16794 // Fallback: show all animated content immediately 16795 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 16796 el.classList.add('group-block-content--in-view'); 16797 }); 16798 return; 16799 } 16800 16801 // Respect reduced motion preference 16802 const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches; 16803 if (prefersReducedMotion) { 16804 // Show all animated content immediately without animation 16805 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 16806 el.style.opacity = '1'; 16807 el.style.transform = 'none'; 16808 }); 16809 return; 16810 } 16811 16812 // Set up Intersection Observer for scroll-triggered animations 16813 const observerOptions = { 16814 root: null, 16815 rootMargin: '0px 0px -10% 0px', // Trigger when element is 10% from bottom of viewport 16816 threshold: 0.1 // Trigger when 10% of element is visible 16817 }; 16818 16819 const observer = new IntersectionObserver((entries) => { 16820 entries.forEach(entry => { 16821 if (entry.isIntersecting) { 16822 const contentElement = entry.target; 16823 // Add the in-view class to trigger animation 16824 contentElement.classList.add('group-block-content--in-view'); 16825 // Unobserve after animation is triggered (only animate once) 16826 observer.unobserve(contentElement); 16827 } 16828 }); 16829 }, observerOptions); 16830 16831 // Observe all group blocks with animations 16832 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 16833 observer.observe(el); 16834 }); 16835 })(); 16836</script>
16836 16837 16838 </div> 16839 </details> 16840 </accordion-custom></div> 16841 16842 16843 16844 16845 16846 16847 16848 16849<div 16850 class=" 16851 group-block 16852 group-block--height-fit 16853 group-block--width-fill 16854 border-style 16855 spacing-style 16856 size-style 16857 16858 16859 16860 16861 " 16862 style=" 16863 --border-width: 1px; --border-style: none; --border-color: 16864rgb(var(--color-border-rgb) / 1.0); --border-radius: 168650px; 16866 16867 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 16868 --size-style-width: 100%;--size-style-height: fit;--size-style-height-mobile: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem; 16869 16870 " 16871 16872 data-testid="group-block" 16873><div class="group-block__media-wrapper"> 16874 16875 16876 16877 16878 16879 </div> 16880 16881 <div 16882 class=" 16883 group-block-content 16884 16885 layout-panel-flex 16886 layout-panel-flex--column 16887 mobile-column 16888 16889 16890 " 16891 16892 style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 16893 16894--gap: 12px; 16895 16896--horizontal-alignment: flex-start; --vertical-alignment: center; 16897--vertical-alignment-mobile: center; 16898" 16899 > 16900 16901 16902 16903 16904 16905 16906 16907 16908 16909 16910 <div class=" spacing-style text-block text-block--AVHduTXlRL3hMSk95N__text_LzTnqK h4 " style=" --padding-block-start: 10px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground); --width: fit-content; --max-width: var(--max-width--body-normal); "> 16911 <h2>Socials</h2> 16912 </div> 16913 16914 16915 16916 16917
16918<script type="module"> 16919 class TextReadMoreWrapper extends HTMLElement { 16920 #expanded = false; 16921 #animation = null; 16922 #collapsedHeight = 0; 16923 16924 connectedCallback() { 16925 const content = this.querySelector('.text-read-more__content'); 16926 const textElement = this.querySelector('.text-read-more__text'); 16927 const button = this.querySelector('.text-read-more__button'); 16928 16929 if (!content || !textElement || !button) return; 16930 16931 // Set initial state 16932 this.dataset.expanded = 'false'; 16933 16934 // Wait for content to render - use double RAF to ensure layout is complete 16935 requestAnimationFrame(() => { 16936 requestAnimationFrame(() => { 16937 // Additional small delay to ensure fonts and styles are applied 16938 setTimeout(() => { 16939 this.#checkOverflow(content, textElement, button); 16940 }, 50); 16941 16942 // Recheck on resize 16943 const resizeObserver = new ResizeObserver(() => { 16944 if (!this.#expanded) { 16945 this.#checkOverflow(content, textElement, button); 16946 } 16947 }); 16948 resizeObserver.observe(content); 16949 16950 // Setup button click handler 16951 button.addEventListener('click', (e) => { 16952 e.preventDefault(); 16953 this.#toggle(content, textElement, button); 16954 }); 16955 }); 16956 }); 16957 } 16958 16959 #checkOverflow(content, textElement, button) { 16960 // Ensure collapsed state is applied 16961 if (!textElement.classList.contains('text-read-more__text--collapsed')) { 16962 textElement.classList.add('text-read-more__text--collapsed'); 16963 } 16964 16965 // Get collapsed height first 16966 const collapsedHeight = content.scrollHeight; 16967 this.#collapsedHeight = collapsedHeight; 16968 16969 // Temporarily remove line-clamp to measure full height 16970 textElement.classList.remove('text-read-more__text--collapsed'); 16971 16972 // Force reflow 16973 void content.offsetHeight; 16974 16975 const fullHeight = content.scrollHeight; 16976 16977 // Restore line-clamp 16978 textElement.classList.add('text-read-more__text--collapsed'); 16979 16980 // Show button if content exceeds 2 lines (with small threshold for rounding) 16981 if (fullHeight > collapsedHeight + 5) { 16982 button.removeAttribute('hidden'); 16983 } else { 16984 button.setAttribute('hidden', ''); 16985 } 16986 } 16987 16988 #toggle(content, textElement, button) { 16989 const startHeight = content.offsetHeight; 16990 let endHeight; 16991 16992 if (!this.#expanded) { 16993 // Expanding 16994 textElement.classList.remove('text-read-more__text--collapsed'); 16995 endHeight = content.scrollHeight; 16996 this.#expanded = true; 16997 } else { 16998 // Collapsing 16999 endHeight = this.#collapsedHeight; 17000 this.#expanded = false; 17001 } 17002 17003 this.dataset.expanded = this.#expanded; 17004 button.setAttribute('aria-expanded', this.#expanded); 17005 17006 // Animate 17007 content.style.overflow = 'hidden'; 17008 this.#animation?.cancel(); 17009 17010 this.#animation = content.animate( 17011 { 17012 height: [`${startHeight}px`, `${endHeight}px`], 17013 }, 17014 { 17015 duration: 300, 17016 easing: 'ease-in-out', 17017 } 17018 ); 17019 17020 this.#animation.onfinish = () => { 17021 if (this.#expanded) { 17022 content.style.removeProperty('height'); 17023 content.style.overflow = ''; 17024 } else { 17025 textElement.classList.add('text-read-more__text--collapsed'); 17026 content.style.removeProperty('height'); 17027 content.style.overflow = ''; 17028 } 17029 }; 17030 } 17031 } 17032 17033 if (!customElements.get('text-read-more-wrapper')) { 17034 customElements.define('text-read-more-wrapper', TextReadMoreWrapper); 17035 } 17036</script>
17036 17037 17038 17039 17040 17041 17042<div 17043 class="social-icons__wrapper footer-utilities__icons" 17044 17045> 17046 17047 17048 17049 17050 17051 17052 17053 17054 <div 17055 class="social-icons__icon-wrapper" 17056 > 17057 <a 17058 href="https://www.facebook.com/thenailandbeautylink/" 17059 target="_blank" 17060 rel="noopener noreferrer" 17061 aria-label="Facebook" 17062 17063 > 17064 <span class="social-icons__icon-label">Facebook</span> 17065 17066 <svg 17067 class="social-icons__icon icon-default" 17068 aria-hidden="true" 17069 focusable="false" 17070 xmlns="http://www.w3.org/2000/svg" 17071 viewBox="0 0 20 20" 17072 > 17073<path d="M18 10.049C18 5.603 14.419 2 10 2c-4.419 0-8 3.603-8 8.049C2 14.067 4.925 17.396 8.75 18v-5.624H6.719v-2.328h2.03V8.275c0-2.017 1.195-3.132 3.023-3.132.874 0 1.79.158 1.79.158v1.98h-1.009c-.994 0-1.303.621-1.303 1.258v1.51h2.219l-.355 2.326H11.25V18c3.825-.604 6.75-3.933 6.75-7.951Z" /></svg> 17074 17075 </a> 17076 </div> 17077 17078 17079 17080 17081 17082 17083 17084 17085 <div 17086 class="social-icons__icon-wrapper" 17087 > 17088 <a 17089 href="https://www.instagram.com/tnbl_uk/" 17090 target="_blank" 17091 rel="noopener noreferrer" 17092 aria-label="Instagram" 17093 17094 > 17095 <span class="social-icons__icon-label">Instagram</span> 17096 17097 <svg 17098 class="social-icons__icon icon-default" 17099 aria-hidden="true" 17100 focusable="false" 17101 xmlns="http://www.w3.org/2000/svg"
17102 viewBox="0 0 20 20" 17103 > 17104<path 17105 fill-rule="evenodd" 17106 d="M13.23 3.492c-.84-.037-1.096-.046-3.23-.046-2.144 0-2.39.01-3.238.055-.776.027-1.195.164-1.487.273a2.43 2.43 0 0 0-.912.593 2.486 2.486 0 0 0-.602.922c-.11.282-.238.702-.274 1.486-.046.84-.046 1.095-.046 3.23 0 2.134.01 2.39.046 3.229.004.51.097 1.016.274 1.495.145.365.319.639.602.913.282.282.538.456.92.602.474.176.974.268 1.479.273.848.046 1.103.046 3.238.046 2.134 0 2.39-.01 3.23-.046.784-.036 1.203-.164 1.486-.273.374-.146.648-.329.921-.602.283-.283.447-.548.602-.922.177-.476.27-.979.274-1.486.037-.84.046-1.095.046-3.23 0-2.134-.01-2.39-.055-3.229-.027-.784-.164-1.204-.274-1.495a2.43 2.43 0 0 0-.593-.913 2.604 2.604 0 0 0-.92-.602c-.284-.11-.703-.237-1.488-.273ZM6.697 2.05c.857-.036 1.131-.045 3.302-.045 1.1-.014 2.202.001 3.302.045.664.014 1.321.14 1.943.374a3.968 3.968 0 0 1 1.414.922c.41.397.728.88.93 1.414.23.622.354 1.279.365 1.942C18 7.56 18 7.824 18 10.005c0 2.17-.01 2.444-.046 3.292-.036.858-.173 1.442-.374 1.943-.2.53-.474.976-.92 1.423a3.896 3.896 0 0 1-1.415.922c-.51.191-1.095.337-1.943.374-.857.036-1.122.045-3.302.045-2.171 0-2.445-.009-3.302-.055-.849-.027-1.432-.164-1.943-.364a4.152 4.152 0 0 1-1.414-.922 4.128 4.128 0 0 1-.93-1.423c-.183-.51-.329-1.085-.365-1.943C2.009 12.45 2 12.167 2 10.004c0-2.161 0-2.435.055-3.302.027-.848.164-1.432.365-1.942a4.44 4.44 0 0 1 .92-1.414 4.18 4.18 0 0 1 1.415-.93c.51-.183 1.094-.33 1.943-.366Zm.427 4.806a4.105 4.105 0 1 1 5.805 5.805 4.105 4.105 0 0 1-5.805-5.805Zm1.882 5.371a2.668 2.668 0 1 0 2.042-4.93 2.668 2.668 0 0 0-2.042 4.93Zm5.922-5.942a.958.958 0 1 1-1.355-1.355.958.958 0 0 1 1.355 1.355Z" 17107 clip-rule="evenodd" 17108 /></svg> 17109 17110 </a> 17111 </div> 17112 17113 17114 17115 17116 17117 17118 17119 17120 17121 17122 17123 17124 17125 17126 17127 17128 17129 17130 17131 17132 17133 17134 17135 17136 17137 17138 17139 17140 17141 17142 17143 17144 17145 17146 17147 17148 17149 17150 17151 17152 17153 17154 17155 17156 17157 17158 17159 17160 17161 17162 17163 17164 17165 17166 17167 17168 17169 17170</div> 17171 17172 17173 17174 17175 17176</div> 17177</div> 17178 17179 17180
17181<script type="module"> 17182 (function() { 17183 // Only run if Intersection Observer is supported 17184 if (typeof IntersectionObserver === 'undefined') { 17185 // Fallback: show all animated content immediately 17186 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 17187 el.classList.add('group-block-content--in-view'); 17188 }); 17189 return; 17190 } 17191 17192 // Respect reduced motion preference 17193 const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches; 17194 if (prefersReducedMotion) { 17195 // Show all animated content immediately without animation 17196 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 17197 el.style.opacity = '1'; 17198 el.style.transform = 'none'; 17199 }); 17200 return; 17201 } 17202 17203 // Set up Intersection Observer for scroll-triggered animations 17204 const observerOptions = { 17205 root: null, 17206 rootMargin: '0px 0px -10% 0px', // Trigger when element is 10% from bottom of viewport 17207 threshold: 0.1 // Trigger when 10% of element is visible 17208 }; 17209 17210 const observer = new IntersectionObserver((entries) => { 17211 entries.forEach(entry => { 17212 if (entry.isIntersecting) { 17213 const contentElement = entry.target; 17214 // Add the in-view class to trigger animation 17215 contentElement.classList.add('group-block-content--in-view'); 17216 // Unobserve after animation is triggered (only animate once) 17217 observer.unobserve(contentElement); 17218 } 17219 }); 17220 }, observerOptions); 17221 17222 // Observe all group blocks with animations 17223 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 17224 observer.observe(el); 17225 }); 17226 })(); 17227</script>
17227 17228 17229 17230 17231 17232</div> 17233</div> 17234 17235 17236
17237<script type="module"> 17238 (function() { 17239 // Only run if Intersection Observer is supported 17240 if (typeof IntersectionObserver === 'undefined') { 17241 // Fallback: show all animated content immediately 17242 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 17243 el.classList.add('group-block-content--in-view'); 17244 }); 17245 return; 17246 } 17247 17248 // Respect reduced motion preference 17249 const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches; 17250 if (prefersReducedMotion) { 17251 // Show all animated content immediately without animation 17252 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 17253 el.style.opacity = '1'; 17254 el.style.transform = 'none'; 17255 }); 17256 return; 17257 } 17258 17259 // Set up Intersection Observer for scroll-triggered animations 17260 const observerOptions = { 17261 root: null, 17262 rootMargin: '0px 0px -10% 0px', // Trigger when element is 10% from bottom of viewport 17263 threshold: 0.1 // Trigger when 10% of element is visible 17264 }; 17265 17266 const observer = new IntersectionObserver((entries) => { 17267 entries.forEach(entry => { 17268 if (entry.isIntersecting) { 17269 const contentElement = entry.target; 17270 // Add the in-view class to trigger animation 17271 contentElement.classList.add('group-block-content--in-view'); 17272 // Unobserve after animation is triggered (only animate once) 17273 observer.unobserve(contentElement); 17274 } 17275 }); 17276 }, observerOptions); 17277 17278 // Observe all group blocks with animations 17279 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 17280 observer.observe(el); 17281 }); 17282 })(); 17283</script>
17283 17284 17285 17286 17287 17288 17289<div 17290 class="divider divider-ASVNVckZuY1A0UWlCc__divider_JKifR7 spacing-style" 17291 style=" 17292 --divider-justify-content: center; 17293 --padding-block-start: 0px;--padding-block-end: 0px; 17294 " 17295 17296 17297> 17298 <span 17299 class="divider__line" 17300 style=" 17301 --divider-border-thickness: 1px; 17302 17303 --divider-border-rounded: 0; 17304 17305 --divider-flex-basis: 100%; 17306 " 17307 ></span> 17308</div> 17309 17310 17311 17312 17313 17314 17315</div> 17316</div> 17317 17318 17319
17320<script type="module"> 17321 (function() { 17322 // Only run if Intersection Observer is supported 17323 if (typeof IntersectionObserver === 'undefined') { 17324 // Fallback: show all animated content immediately 17325 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 17326 el.classList.add('group-block-content--in-view'); 17327 }); 17328 return; 17329 } 17330 17331 // Respect reduced motion preference 17332 const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches; 17333 if (prefersReducedMotion) { 17334 // Show all animated content immediately without animation 17335 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 17336 el.style.opacity = '1'; 17337 el.style.transform = 'none'; 17338 }); 17339 return; 17340 } 17341 17342 // Set up Intersection Observer for scroll-triggered animations 17343 const observerOptions = { 17344 root: null, 17345 rootMargin: '0px 0px -10% 0px', // Trigger when element is 10% from bottom of viewport 17346 threshold: 0.1 // Trigger when 10% of element is visible 17347 }; 17348 17349 const observer = new IntersectionObserver((entries) => { 17350 entries.forEach(entry => { 17351 if (entry.isIntersecting) { 17352 const contentElement = entry.target; 17353 // Add the in-view class to trigger animation 17354 contentElement.classList.add('group-block-content--in-view'); 17355 // Unobserve after animation is triggered (only animate once) 17356 observer.unobserve(contentElement); 17357 } 17358 }); 17359 }, observerOptions); 17360 17361 // Observe all group blocks with animations 17362 document.querySelectorAll('.group-block-content--has-animation').forEach(el => { 17363 observer.observe(el); 17364 }); 17365 })(); 17366</script>
17366 17367 17368 17369 17370 17371 </div> 17372</div> 17373 17374 17375 17376 17377</footer><div id="shopify-section-sections--28213213528410__footer_utilities_jLGE8U" class="shopify-section shopify-section-group-footer-group footer-utilities"> 17378 17379<div class="section-background color-scheme-3"></div> 17380<div 17381 class="section section--page-width color-scheme-3" 17382 17383> 17384 <div 17385 class="utilities utilities--blocks-2 spacing-style" 17386 style="--padding-block-start: 20px;--padding-block-end: max(20px, calc(var(--spacing-scale) * 48px)); --border-width: 0px; --gap: 24px;" 17387 data-testid="footer-utilities" 17388 > 17389 17390 17391<div 17392 class=" 17393 footer-utilities__group-copyright 17394 custom-typography 17395 footer-utilities__text 17396 custom-font-size 17397 " 17398 style=" 17399--color: ;--font-size: 0.75rem; --font-weight: ;--font-family: ; --text-transform: uppercase; --text-wrap: pretty; --line-height: var(--line-height--body-); --letter-spacing: var(--letter-spacing--body-);" 17400 17401> 17402 <span class="footer-utilities__text"> 17403 © 2026 17404 <a href="/" title="">TNBL UK</a></span> 17405</div> 17406 17407 17408 17409 17410<div 17411 class=" 17412 payment-icons 17413 spacing-style 17414 " 17415 style=" 17416 --padding-block-start: 0px; --padding-block-end:0px; 17417--padding-inline-start:0px; --padding-inline-end:0px; 17418 17419 --icon-gap: 10px; 17420 --alignment: flex-end; 17421 --alignment-mobile: flex-start; 17422 " 17423 17424> 17425 <span class="visually-hidden">Payment methods</span> 17426 <ul 17427 class="payment-icons__list" 17428 role="list" 17429 ><li class="payment-icons__item"> 17430 <svg class="icon icon--full-color" version="1.1" xmlns="http://www.w3.org/2000/svg" role="img" x="0" y="0" width="38" height="24" viewBox="0 0 165.521 105.965" xml:space="preserve" aria-labelledby="pi-apple_pay"><title id="pi-apple_pay">Apple Pay</title><path fill="#000" d="M150.698 0H14.823c-.566 0-1.133 0-1.698.003-.477.004-.953.009-1.43.022-1.039.028-2.087.09-3.113.274a10.51 10.51 0 0 0-2.958.975 9.932 9.932 0 0 0-4.35 4.35 10.463 10.463 0 0 0-.975 2.96C.113 9.611.052 10.658.024 11.696a70.22 70.22 0 0 0-.022 1.43C0 13.69 0 14.256 0 14.823v76.318c0 .567 0 1.132.002 1.699.003.476.009.953.022 1.43.028 1.036.09 2.084.275 3.11a10.46 10.46 0 0 0 .974 2.96 9.897 9.897 0 0 0 1.83 2.52 9.874 9.874 0 0 0 2.52 1.83c.947.483 1.917.79 2.96.977 1.025.183 2.073.245 3.112.273.477.011.953.017 1.43.02.565.004 1.132.004 1.698.004h135.875c.565 0 1.132 0 1.697-.004.476-.002.952-.009 1.431-.02 1.037-.028 2.085-.09 3.113-.273a10.478 10.478 0 0 0 2.958-.977 9.955 9.955 0 0 0 4.35-4.35c.483-.947.789-1.917.974-2.96.186-1.026.246-2.074.274-3.11.013-.477.02-.954.022-1.43.004-.567.004-1.132.004-1.699V14.824c0-.567 0-1.133-.004-1.699a63.067 63.067 0 0 0-.022-1.429c-.028-1.038-.088-2.085-.274-3.112a10.4 10.4 0 0 0-.974-2.96 9.94 9.94 0 0 0-4.35-4.35A10.52 10.52 0 0 0 156.939.3c-1.028-.185-2.076-.246-3.113-.274a71.417 71.417 0 0 0-1.431-.022C151.83 0 151.263 0 150.698 0z" /><path fill="#FFF" d="M150.698 3.532l1.672.003c.452.003.905.008 1.36.02.793.022 1.719.065 2.583.22.75.135 1.38.34 1.984.648a6.392 6.392 0 0 1 2.804 2.807c.306.6.51 1.226.645 1.983.154.854.197 1.783.218 2.58.013.45.019.9.02 1.36.005.557.005 1.113.005 1.671v76.318c0 .558 0 1.114-.004 1.682-.002.45-.008.9-.02 1.35-.022.796-.065 1.725-.221 2.589a6.855 6.855 0 0 1-.645 1.975 6.397 6.397 0 0 1-2.808 2.807c-.6.306-1.228.511-1.971.645-.881.157-1.847.2-2.574.22-.457.01-.912.017-1.379.019-.555.004-1.113.004-1.669.004H14.801c-.55 0-1.1 0-1.66-.004a74.993 74.993 0 0 1-1.35-.018c-.744-.02-1.71-.064-2.584-.22a6.938 6.938 0 0 1-1.986-.65 6.337 6.337 0 0 1-1.622-1.18 6.355 6.355 0 0 1-1.178-1.623 6.935 6.935 0 0 1-.646-1.985c-.156-.863-.2-1.788-.22-2.578a66.088 66.088 0 0 1-.02-1.355l-.003-1.327V14.474l.002-1.325a66.7 66.7 0 0 1 .02-1.357c.022-.792.065-1.717.222-2.587a6.924 6.924 0 0 1 .646-1.981c.304-.598.7-1.144 1.18-1.623a6.386 6.386 0 0 1 1.624-1.18 6.96 6.96 0 0 1 1.98-.646c.865-.155 1.792-.198 2.586-.22.452-.012.905-.017 1.354-.02l1.677-.003h135.875" /><g><g><path fill="#000" d="M43.508 35.77c1.404-1.755 2.356-4.112 2.105-6.52-2.054.102-4.56 1.355-6.012 3.112-1.303 1.504-2.456 3.959-2.156 6.266 2.306.2 4.61-1.152 6.063-2.858" /><path fill="#000" d="M45.587 39.079c-3.35-.2-6.196 1.9-7.795 1.9-1.6 0-4.049-1.8-6.698-1.751-3.447.05-6.645 2-8.395 5.1-3.598 6.2-.95 15.4 2.55 20.45 1.699 2.5 3.747 5.25 6.445 5.151 2.55-.1 3.549-1.65 6.647-1.65 3.097 0 3.997 1.65 6.696 1.6 2.798-.05 4.548-2.5 6.247-5 1.95-2.85 2.747-5.6 2.797-5.75-.05-.05-5.396-2.101-5.446-8.251-.05-5.15 4.198-7.6 4.398-7.751-2.399-3.548-6.147-3.948-7.447-4.048" /></g><g><path fill="#000" d="M78.973 32.11c7.278 0 12.347 5.017 12.347 12.321 0 7.33-5.173 12.373-12.529 12.373h-8.058V69.62h-5.822V32.11h14.062zm-8.24 19.807h6.68c5.07 0 7.954-2.729 7.954-7.46 0-4.73-2.885-7.434-7.928-7.434h-6.706v14.894z" />
17430<path fill="#000" d="M92.764 61.847c0-4.809 3.665-7.564 10.423-7.98l7.252-.442v-2.08c0-3.04-2.001-4.704-5.562-4.704-2.938 0-5.07 1.507-5.51 3.82h-5.252c.157-4.86 4.731-8.395 10.918-8.395 6.654 0 10.995 3.483 10.995 8.89v18.663h-5.38v-4.497h-.13c-1.534 2.937-4.914 4.782-8.579 4.782-5.406 0-9.175-3.222-9.175-8.057zm17.675-2.417v-2.106l-6.472.416c-3.64.234-5.536 1.585-5.536 3.95 0 2.288 1.975 3.77 5.068 3.77 3.95 0 6.94-2.522 6.94-6.03z" /><path fill="#000" d="M120.975 79.652v-4.496c.364.051 1.247.103 1.715.103 2.573 0 4.029-1.09 4.913-3.899l.52-1.663-9.852-27.293h6.082l6.863 22.146h.13l6.862-22.146h5.927l-10.216 28.67c-2.34 6.577-5.017 8.735-10.683 8.735-.442 0-1.872-.052-2.261-.157z" /></g></g></svg> 17431 17432 </li><li class="payment-icons__item"> 17433 <svg class="icon icon--full-color" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-google_pay"><title id="pi-google_pay">Google Pay</title><path d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000" opacity=".07"/><path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32" fill="#FFF"/><path d="M18.093 11.976v3.2h-1.018v-7.9h2.691a2.447 2.447 0 0 1 1.747.692 2.28 2.28 0 0 1 .11 3.224l-.11.116c-.47.447-1.098.69-1.747.674l-1.673-.006zm0-3.732v2.788h1.698c.377.012.741-.135 1.005-.404a1.391 1.391 0 0 0-1.005-2.354l-1.698-.03zm6.484 1.348c.65-.03 1.286.188 1.778.613.445.43.682 1.03.65 1.649v3.334h-.969v-.766h-.049a1.93 1.93 0 0 1-1.673.931 2.17 2.17 0 0 1-1.496-.533 1.667 1.667 0 0 1-.613-1.324 1.606 1.606 0 0 1 .613-1.336 2.746 2.746 0 0 1 1.698-.515c.517-.02 1.03.093 1.49.331v-.208a1.134 1.134 0 0 0-.417-.901 1.416 1.416 0 0 0-.98-.368 1.545 1.545 0 0 0-1.319.717l-.895-.564a2.488 2.488 0 0 1 2.182-1.
1743306zM23.29 13.52a.79.79 0 0 0 .337.662c.223.176.5.269.785.263.429-.001.84-.17 1.146-.472.305-.286.478-.685.478-1.103a2.047 2.047 0 0 0-1.324-.374 1.716 1.716 0 0 0-1.03.294.883.883 0 0 0-.392.73zm9.286-3.75l-3.39 7.79h-1.048l1.281-2.728-2.224-5.062h1.103l1.612 3.885 1.569-3.885h1.097z" fill="#5F6368"/><path d="M13.986 11.284c0-.308-.024-.616-.073-.92h-4.29v1.747h2.451a2.096 2.096 0 0 1-.9 1.373v1.134h1.464a4.433 4.433 0 0 0 1.348-3.334z" fill="#4285F4"/><path d="M9.629 15.721a4.352 4.352 0 0 0 3.01-1.097l-1.466-1.14a2.752 2.752 0 0 1-4.094-1.44H5.577v1.17a4.53 4.53 0 0 0 4.052 2.507z" fill="#34A853"/><path d="M7.079 12.05a2.709 2.709 0 0 1 0-1.735v-1.17H5.577a4.505 4.505 0 0 0 0 4.075l1.502-1.17z" fill="#FBBC04"/><path d="M9.629 8.44a2.452 2.452 0 0 1 1.74.68l1.3-1.293a4.37 4.37 0 0 0-3.065-1.183 4.53 4.53 0 0 0-4.027 2.5l1.502 1.171a2.715 2.715 0 0 1 2.55-1.875z" fill="#EA4335"/></svg> 17434 17435 </li><li class="payment-icons__item"> 17436 <svg class="icon icon--full-color" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-master"><title id="pi-master">Mastercard</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#1C1C1C" style="fill:#1C1C1C;fill:color(display-p3 0.1098 0.1098 0.1098);fill-opacity:1;"/><path d="M35 1C36.1 1 37 1.9 37 3V21C37 22.1 36.1 23 35 23H3C1.9 23 1 22.1 1 21V3C1 1.9 1.9 1 3 1H35Z" fill="#232323" style="fill:#232323;fill:color(display-p3 0.1373 0.1373 0.1373);fill-opacity:1;"/><path d="M14.6364 19.2727C18.8538 19.2727 22.2727 15.8538 22.2727 11.6364C22.2727 7.41892 18.8538 4 14.6364 4C10.4189 4 7 7.41892 7 11.6364C7 15.8538 10.4189 19.2727 14.6364 19.2727Z" fill="#EB001B" style="fill:#EB001B;fill:color(display-p3 0.9216 0.0000 0.1059);fill-opacity:1;"/><path d="M23.3637 19.2727C27.5811 19.2727 31 15.8538 31 11.6364C31 7.41892 27.5811 4 23.3637 4C19.1462 4 15.7273 7.41892 15.7273 11.6364C15.7273 15.8538 19.1462 19.2727 23.3637 19.2727Z" fill="#F79E1B" style="fill:#F79E1B;fill:color(display-p3 0.9686 0.6196 0.1059);fill-opacity:1;"/><path d="M22.2727 11.6362C22.2727 9.01797 20.9637 6.72706 19 5.41797C17.0364 6.83615 15.7273 9.12706 15.7273 11.6362C15.7273 14.1452 17.0364 16.5452 19 17.8543C20.9637 16.5452 22.2727 14.2543 22.2727 11.6362Z" fill="#FF5F00" style="fill:#FF5F00;fill:color(display-p3 1.0000 0.3725 0.0000);fill-opacity:1;"/></svg> 17437 17438 </li><li class="payment-icons__item"> 17439 <svg class="icon icon--full-color" viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" width="38" height="24" role="img" aria-labelledby="pi-paypal"><title id="pi-paypal">PayPal</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path fill="#003087" d="M23.9 8.3c.2-1 0-1.7-.6-2.3-.6-.7-1.7-1-3.1-1h-4.1c-.3 0-.5.2-.6.5L14 15.6c0 .2.1.4.3.4H17l.4-3.4 1.8-2.2 4.7-2.1z"/><path fill="#3086C8" d="M23.9 8.3l-.2.2c-.5 2.8-2.2 3.8-4.6 3.8H18c-.3 0-.5.2-.6.5l-.6 3.9-.2 1c0 .2.1.4.3.4H19c.3 0 .5-.2.5-.4v-.1l.4-2.4v-.1c0-.2.3-.4.5-.4h.3c2.1 0 3.7-.8 4.1-3.2.2-1 .1-1.8-.4-2.4-.1-.5-.3-.7-.5-.8z"/><path fill="#012169" d="M23.3 8.1c-.1-.1-.2-.1-.3-.1-.1 0-.2 0-.3-.1-.3-.1-.7-.1-1.1-.1h-3c-.1 0-.2
174390-.2.1-.2.1-.3.2-.3.4l-.7 4.4v.1c0-.3.3-.5.6-.5h1.3c2.5 0 4.1-1 4.6-3.8v-.2c-.1-.1-.3-.2-.5-.2h-.1z"/></svg> 17440 </li><li class="payment-icons__item"> 17441 <svg class="icon icon--full-color" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-visa"><title id="pi-visa">Visa</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#142FBD" style="fill:#142FBD;fill:color(display-p3 0.0784 0.1843 0.7412);fill-opacity:1;"/><path d="M35 1C36.1 1 37 1.9 37 3V21C37 22.1 36.1 23 35 23H3C1.9 23 1 22.1 1 21V3C1 1.9 1.9 1 3 1H35Z" fill="#1532CB" style="fill:#1532CB;fill:color(display-p3 0.0824 0.1961 0.7961);fill-opacity:1;"/><path d="M29.5944 10.2167H29.2778C28.8556 11.2722 28.5389 11.8 28.2222 13.3833H30.2278C29.9111 11.8 29.9111 11.0611 29.5944 10.2167V10.2167ZM32.6556 16.4444H30.8611C30.7556 16.4444 30.7556 16.4444 30.65 16.3389L30.4389 15.3889L30.3333 15.1778H27.8C27.6944 15.1778 27.5889 15.1778 27.5889 15.3889L27.2722 16.3389C27.2722 16.4444 27.1667 16.4444 27.1667 16.4444H24.95L25.1611 15.9167L28.2222 8.73889C28.2222 8.21111 28.5389 8 29.0667 8H30.65C30.7556 8 30.8611 8 30.8611 8.21111L32.3389 15.0722C32.4444 15.4944 32.55 15.8111 32.55 16.2333C32.6556 16.3389 32.6556 16.3389 32.6556 16.4444V16.4444ZM18.5111 16.1278L18.9333 14.2278C19.0389 14.2278 19.1444 14.3333 19.1444 14.3333C19.8833 14.65 20.6222 14.8611 21.3611 14.7556C21.5722 14.7556 21.8889 14.65 22.1 14.5444C22.6278 14.3333 22.6278 13.8056 22.2056 13.3833C21.9944 13.1722 21.6778 13.0667 21.3611 12.8556C20.9389 12.6444 20.5167 12.4333 20.2 12.1167C18.9333 11.0611 19.3556 9.58333 20.0944 8.84444C20.7278 8.42222 21.0444 8 21.8889 8C23.1556 8 24.5278 8 25.1611 8.21111H25.2667C25.1611 8.84444 25.0556 9.37222 24.8444 10.0056C24.3167 9.79444 23.7889 9.58333 23.2611 9.58333C22.9444 9.58333 22.6278 9.58333 22.3111 9.68889C22.1 9.68889 21.9944 9.79444 21.8889 9.9C21.6778 10.1111 21.6778 10.4278 21.8889 10.6389L22.4167 11.0611C22.8389 11.2722 23.2611 11.4833 23.5778 11.6944C24.1056 12.0111 24.6333 12.5389 24.7389 13.1722C24.95 14.1222 24.6333 14.9667 23.7889 15.6C23.2611 16.0222 23.05 16.2333 22.3111 16.2333C20.8333 16.2333 19.6722 16.3389 18.7222 16.0222C18.6167 16.2333 18.6167 16.2333 18.5111 16.1278V16.1278ZM14.8167 16.4444C14.9222 15.7056 14.9222 15.7056 15.0278 15.3889C15.5556 13.0667 16.0833 10.6389 16.5056 8.31667C16.6111 8.10556 16.6111 8 16.8222 8H18.7222C18.5111 9.26667 18.3 10.2167 17.9833 11.3778C17.6667 12.9611 17.35 14.5444 16.9278 16.1278C16.9278 16.3389 16.8222 16.3389 16.6111 16.3389L14.8167 16.4444ZM5 8.21111C5 8.10556 5.21111 8 5.31667 8H8.90556C9.43333 8 9.85556 8.31667 9.96111 8.84444L10.9111 13.4889C10.9111 13.5944 10.9111 13.5944 11.0167 13.7C11.0167 13.5944 11.1222 13.5944 11.1222 13.5944L13.3389 8.21111C13.2333 8.10556 13.3389 8 13.4444 8H15.6611C15.6611 8.10556 15.6611 8.10556 15.5556 8.21111L12.2833 15.9167C12.1778 16.1278 12.1778
1744116.2333 12.0722 16.3389C11.9667 16.4444 11.7556 16.3389 11.5444 16.3389H9.96111C9.85556 16.3389 9.75 16.3389 9.75 16.1278L8.06111 9.58333C7.85 9.37222 7.53333 9.05556 7.11111 8.95C6.47778 8.63333 5.31667 8.42222 5.10556 8.42222L5 8.21111Z" fill="white" style="fill:white;fill-opacity:1;"/></svg> 17442 17443 </li></ul> 17444</div> 17445 17446 17447 17448 17449 17450 </div> 17451</div> 17452 17453 17454 17455 17456</div> 17457<!-- END sections: footer-group --> 17458 17459
17459<script 17460 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/dialog.js?v=61774032287387761671774530324" 17461 type="module" 17462></script>
17462 17463
17464<script 17465 src="//www.tnbl.co.uk/cdn/shop/t/6/assets/predictive-search.js?v=149240552485540508541774530329" 17466 type="module" 17467 fetchpriority="low" 17468></script>
17468 17469 17470<dialog-component 17471 id="search-modal" 17472 class="search-modal" 17473 17474> 17475 <dialog 17476 ref="dialog" 17477 on:click="/closeDialogOnClickOutside" 17478 on:keydown="/closeDialogOnEscapePress" 17479 class="search-modal__content dialog-modal" 17480 scroll-lock 17481 aria-labelledby="search-modal-heading" 17482 > 17483 <h2 17484 id="search-modal-heading" 17485 class="visually-hidden" 17486 > 17487 Search 17488 </h2> 17489 <predictive-search-component 17490 class="predictive-search color-scheme-1" 17491 style="--product-corner-radius: 0px; --card-corner-radius: 4px;" 17492 data-section-id="predictive-search" 17493 data-testid="search-component--modal" 17494 role="search" 17495 aria-label="Search" 17496 > 17497 <form 17498 action="/search" 17499 method="get" 17500 role="search" 17501 class="predictive-search-form" 17502 ref="form" 17503 on:keydown="/onSearchKeyDown" 17504 > 17505 <div 17506 class="predictive-search-form__header" 17507 > 17508 <div class="predictive-search-form__header-inner"> 17509 <label 17510 for="cmdk-input" 17511 class="visually-hidden" 17512 >Search</label> 17513 <input 17514 class="search-input" 17515 id="cmdk-input" 17516 type="search" 17517 name="q" 17518 role="combobox" 17519 aria-expanded="false" 17520 aria-owns="predictive-search-results" 17521 aria-controls="predictive-search-results" 17522 aria-haspopup="listbox" 17523 aria-autocomplete="list" 17524 autocomplete="off" 17525 placeholder="Search" 17526 ref="searchInput" 17527 on:input="/search" 17528 on:keydown="/onSearchKeyDown" 17529 > 17530 <input 17531 name="options[prefix]" 17532 type="hidden" 17533 value="last" 17534 > 17535 <span class="svg-wrapper predictive-search__icon"> 17536 <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 17537<path d="M19.1361 20L11.4929 12.3568C10.8825 12.8764 10.1807 13.2786 9.38723 13.5634C8.59379 13.8483 7.79649 13.9907 6.99533 13.9907C5.04023 13.9907 3.38552 13.3139 2.03119 11.9604C0.677063 10.6069 0 8.95318 0 6.9993C0 5.04522 0.676758 3.39009 2.03027 2.03393C3.38379 0.677977 5.03748 0 6.99136 0C8.94545 0 10.6006 0.677063 11.9567 2.03119C13.3127 3.38552 13.9907 5.04023 13.9907 6.99533C13.9907 7.84349 13.8404 8.66429 13.5399 9.45772C13.2394 10.2512 12.8451 10.9295 12.3568 11.4929L20 19.1364L19.1361 20ZM6.99533 12.77C8.61495 12.77 9.9823 12.2125 11.0974 11.0974C12.2125 9.9825 12.77 8.61515 12.77 6.99533C12.77 5.37551 12.2125 4.00816 11.0974 2.89328C9.9823 1.7782 8.61495 1.22067 6.99533 1.22067C5.37551 1.22067 4.00816 1.7782 2.89328 2.89328C1.7782 4.00816 1.22067 5.37551 1.22067 6.99533C1.22067 8.61515 1.7782 9.9825 2.89328 11.0974C4.00816 12.2125 5.37551 12.77 6.99533 12.77Z" fill="#111111"/> 17538</svg> 17539 17540 </span> 17541 <button 17542 type="button" 17543 class="button-unstyled predictive-search__reset-button" 17544 ref="resetButton" 17545 hidden 17546 on:click="/resetSearch" 17547 > 17548 Clear 17549 </button> 17550 </div> 17551 <button 17552 type="button" 17553 class="button predictive-search__close-modal-button" 17554 aria-label="Close dialog" 17555 on:click="dialog-component/closeDialog" 17556 ref="closeModalButton" 17557 > 17558 <span class="svg-wrapper"> 17559 <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 17560 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 17561 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 17562</svg> 17563 17564 </span> 17565 </button> 17566 </div> 17567 17568 <div class="predictive-search-form__content-wrapper"> 17569 <div 17570 class="predictive-search-form__content" 17571 tabindex="-1" 17572 ref="predictiveSearchResults" 17573 on:click="/handleModalClick" 17574 > 17575 17576 17577<div 17578 id="predictive-search-results" 17579 class="predictive-search-dropdown" 17580 role="listbox"
17581 aria-expanded="true" 17582 style="--color-shadow: rgb(var(--color-foreground-rgb) / 0.1);" 17583> 17584 17585 <div class="predictive-search-results__inner"> 17586 17587 17588 17589 17590 17591 <div 17592 id="predictive-search-products" 17593 class="predictive-search-results__products" 17594 17595 data-testid="products-list-default--modal" 17596 17597> 17598 17599 <h4 class="predictive-search-results__title"> 17600 Products 17601 </h4> 17602 <ul 17603 class="predictive-search-results__list predictive-search-results__wrapper-products list-unstyled" 17604 role="listbox" 17605 aria-label="Products" 17606 > 17607 17608 17609 <li 17610 class="predictive-search-results__card predictive-search-results__card--product" 17611 ref="resultsItems[]" 17612 > 17613 17614<product-card-link 17615 data-product-id="10666571170138" 17616 data-featured-media-url="//www.tnbl.co.uk/cdn/shop/files/1656080832-28260200_b0edcac7-1c87-4e6e-84f6-f4bd52d39a1b.jpg?v=1768909812&width=500" 17617 data-product-transition="true" 17618 ><div 17619 class="resource-card" 17620 href="/products/tnbl-h-easy-french-v-shape-cutters-silver" 17621 data-resource-type="product" 17622> 17623 <a 17624 class="resource-card__link" 17625 href="/products/tnbl-h-easy-french-v-shape-cutters-silver" 17626 > 17627 <span class="visually-hidden"> 17628 #H Easy French V-Shape Cutters - Silver 17629 </span> 17630 </a> 17631 <div 17632 class="resource-card__media" 17633 style="--resource-card-aspect-ratio: 4 / 5;" 17634 17635 data-view-transition-to-main-product 17636 17637 > 17638 17639 17640<img src="//www.tnbl.co.uk/cdn/shop/files/1656080832-28260200_b0edcac7-1c87-4e6e-84f6-f4bd52d39a1b.jpg?v=1768909812&width=500" alt="" srcset="//www.tnbl.co.uk/cdn/shop/files/1656080832-28260200_b0edcac7-1c87-4e6e-84f6-f4bd52d39a1b.jpg?v=1768909812&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/1656080832-28260200_b0edcac7-1c87-4e6e-84f6-f4bd52d39a1b.jpg?v=1768909812&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image" sizes="auto" transitionToProduct="true" style="object-position: 50.0% 50.0%;"> 17641</div> 17642 17643 <div class="resource-card__content"> 17644 17645 <p class="resource-card__vendor paragraph"> 17646 TNBL 17647 </p> 17648 17649 <p class="resource-card__title paragraph">#H Easy French V-Shape Cutters - Silver</p> 17650 17651 17652 <div ref="priceContainer"> 17653 17654 17655 17656 17657 17658 <span class="price">£5.00</span> 17659 17660 17661 17662 17663</div> 17664 17665 </div> 17666</div></product-card-link> 17667 17668 </li> 17669 17670 <li 17671 class="predictive-search-results__card predictive-search-results__card--product" 17672 ref="resultsItems[]" 17673 > 17674 17675<product-card-link 17676 data-product-id="10666571268442" 17677 data-featured-media-url="//www.tnbl.co.uk/cdn/shop/files/1656501983-43261500_1efed7e0-0701-4485-b979-6f08f38e0f00.png?v=1768909817&width=500" 17678 data-product-transition="true" 17679 ><div 17680 class="resource-card" 17681 href="/products/tnbl-k-easy-french-water-drop-cutters-gold" 17682 data-resource-type="product" 17683> 17684 <a 17685 class="resource-card__link" 17686 href="/products/tnbl-k-easy-french-water-drop-cutters-gold" 17687 > 17688 <span class="visually-hidden"> 17689 #K Easy French Water Drop Cutters - Gold 17690 </span> 17691 </a> 17692 <div 17693 class="resource-card__media" 17694 style="--resource-card-aspect-ratio: 4 / 5;" 17695 17696 data-view-transition-to-main-product 17697 17698 > 17699 17700 17701<img src="//www.tnbl.co.uk/cdn/shop/files/1656501983-43261500_1efed7e0-0701-4485-b979-6f08f38e0f00.png?v=1768909817&width=500" alt="" srcset="//www.tnbl.co.uk/cdn/shop/files/1656501983-43261500_1efed7e0-0701-4485-b979-6f08f38e0f00.png?v=1768909817&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/1656501983-43261500_1efed7e0-0701-4485-b979-6f08f38e0f00.png?v=1768909817&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image" sizes="auto" transitionToProduct="true" style="object-position: 50.0% 50.0%;"> 17702</div> 17703 17704 <div class="resource-card__content"> 17705 17706 <p class="resource-card__vendor paragraph"> 17707 TNBL 17708 </p> 17709 17710 <p class="resource-card__title paragraph">#K Easy French Water Drop Cutters - Gold</p> 17711 17712 17713 <div ref="priceContainer"> 17714 17715 17716 17717 17718
17719 <span class="price">£5.00</span> 17720 17721 17722 17723 17724</div> 17725 17726 </div> 17727</div></product-card-link> 17728 17729 </li> 17730 17731 <li 17732 class="predictive-search-results__card predictive-search-results__card--product" 17733 ref="resultsItems[]" 17734 > 17735 17736<product-card-link 17737 data-product-id="10666571235674" 17738 data-featured-media-url="//www.tnbl.co.uk/cdn/shop/files/1656080832-86649200_3a7669c5-f579-4718-9c0a-6f684f1e876a.jpg?v=1768909816&width=500" 17739 data-product-transition="true" 17740 ><div 17741 class="resource-card" 17742 href="/products/tnbl-k-easy-french-water-drop-cutters-silver" 17743 data-resource-type="product" 17744> 17745 <a 17746 class="resource-card__link" 17747 href="/products/tnbl-k-easy-french-water-drop-cutters-silver" 17748 > 17749 <span class="visually-hidden"> 17750 #K Easy French Water Drop Cutters - Silver 17751 </span> 17752 </a> 17753 <div 17754 class="resource-card__media" 17755 style="--resource-card-aspect-ratio: 4 / 5;" 17756 17757 data-view-transition-to-main-product 17758 17759 > 17760 17761 17762<img src="//www.tnbl.co.uk/cdn/shop/files/1656080832-86649200_3a7669c5-f579-4718-9c0a-6f684f1e876a.jpg?v=1768909816&width=500" alt="" srcset="//www.tnbl.co.uk/cdn/shop/files/1656080832-86649200_3a7669c5-f579-4718-9c0a-6f684f1e876a.jpg?v=1768909816&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/1656080832-86649200_3a7669c5-f579-4718-9c0a-6f684f1e876a.jpg?v=1768909816&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image" sizes="auto" transitionToProduct="true" style="object-position: 50.0% 50.0%;"> 17763</div> 17764 17765 <div class="resource-card__content"> 17766 17767 <p class="resource-card__vendor paragraph"> 17768 TNBL 17769 </p> 17770 17771 <p class="resource-card__title paragraph">#K Easy French Water Drop Cutters - Silver</p> 17772 17773 17774 <div ref="priceContainer"> 17775 17776 17777 17778 17779 17780 <span class="price">£5.00</span> 17781 17782 17783 17784 17785</div> 17786 17787 </div> 17788</div></product-card-link> 17789 17790 </li> 17791 17792 <li 17793 class="predictive-search-results__card predictive-search-results__card--product" 17794 ref="resultsItems[]" 17795 > 17796 17797<product-card-link 17798 data-product-id="10666595680602" 17799 data-featured-media-url="//www.tnbl.co.uk/cdn/shop/files/1705842587-67525300_f9520136-4076-48ea-8504-b94aec7b7572.png?v=1768910747&width=500" 17800 data-product-transition="true" 17801 ><div 17802 class="resource-card" 17803 href="/products/tnbl-0-25g-long-handle-measuring-spoon-4pcs" 17804 data-resource-type="product" 17805> 17806 <a 17807 class="resource-card__link" 17808 href="/products/tnbl-0-25g-long-handle-measuring-spoon-4pcs" 17809 > 17810 <span class="visually-hidden"> 17811 0.25g Long Handle Measuring Spoon 4pcs 17812 </span> 17813 </a> 17814 <div 17815 class="resource-card__media" 17816 style="--resource-card-aspect-ratio: 4 / 5;" 17817 17818 data-view-transition-to-main-product 17819 17820 > 17821 17822 17823<img src="//www.tnbl.co.uk/cdn/shop/files/1705842587-67525300_f9520136-4076-48ea-8504-b94aec7b7572.png?v=1768910747&width=500" alt="" srcset="//www.tnbl.co.uk/cdn/shop/files/1705842587-67525300_f9520136-4076-48ea-8504-b94aec7b7572.png?v=1768910747&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/1705842587-67525300_f9520136-4076-48ea-8504-b94aec7b7572.png?v=1768910747&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image" sizes="auto" transitionToProduct="true" style="object-position: 50.0% 50.0%;"> 17824 17825 <img src="//www.tnbl.co.uk/cdn/shop/files/1705842606-03003100_f447e117-fb23-4c00-94f7-a5ed87bc4bc0.png?v=1768910747&width=500" alt="0.25g Long Handle Measuring Spoon 4pcs" srcset="//www.tnbl.co.uk/cdn/shop/files/1705842606-03003100_f447e117-fb23-4c00-94f7-a5ed87bc4bc0.png?v=1768910747&width=240 240w, //www.tnbl.co.uk/cdn/shop/files/1705842606-03003100_f447e117-fb23-4c00-94f7-a5ed87bc4bc0.png?v=1768910747&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image resource-card__image--secondary" sizes="auto" transitionToProduct="true" data-media-id="58105734037850" style="object-position: 50.0% 50.0%;"> 17826</div> 17827 17828 <div class="resource-card__content"> 17829 17830 <p class="resource-card__vendor paragraph"> 17831 TNBL 17832 </p> 17833 17834 <p class="resource-card__title paragraph">0.25g Long Handle Measuring Spoon 4pcs</p> 17835 17836 17837 <div ref="priceContainer"> 17838 17839 17840 17841 17842
17843 <span class="price">£0.80</span> 17844 17845 17846 17847 17848</div> 17849 17850 </div> 17851</div></product-card-link> 17852 17853 </li> 17854 17855 </ul> 17856 17857</div> 17858 17859 17860 17861 17862 17863 </div> 17864 17865</div> 17866 17867 </div> 17868 17869 <div class="predictive-search-form__footer"> 17870 <button 17871 class="button button-primary predictive-search__search-button" 17872 ref="viewAllButton" 17873 > 17874 View all 17875 </button> 17876 </div> 17877 </div> 17878 </form> 17879 </predictive-search-component> 17880 </dialog> 17881</dialog-component> 17882 17883 17884 17885 17886 17887 <quick-add-dialog id="quick-add-dialog"> 17888 <dialog 17889 class="quick-add-modal dialog-modal color-scheme-1" 17890 ref="dialog" 17891 scroll-lock 17892 > 17893 <button 17894 ref="closeButton" 17895 on:click="/closeDialog" 17896 class="button button-unstyled close-button quick-add-modal__close" 17897 aria-label="Close dialog" 17898 ><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 17899 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 17900 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 17901</svg> 17902</button> 17903 <div 17904 id="quick-add-modal-content" 17905 class="quick-add-modal__content" 17906 ></div> 17907 </dialog> 17908</quick-add-dialog> 17909 17910 17911 17912 17913 17914 <style data-shopify> 17915 .samita-cutoff-time .samita-countdown-remaining--text:empty:before { 17916 content: '23 hours'; 17917 font-size: 13px !important; 17918 font-weight: bold !important; 17919 } 17920</style> 17921 <div id="shopify-block-AbVBQN25GV0ZIRk1MY__14041968213898805026" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: free-gift -->
17921<script> 17922 try { 17923 const initFreeGiftData = () => { 17924 const metafields = {"configSettings":{"id":"eOpdFoAfq8TnINLpas7I","shopId":"3rRPp0rjVHkdUgMpqHvO","closeBtnTime":600,"continueShoppingTime":300,"alwaysRemoveGift":false,"queryCheckoutBtn":"button[name='checkout']","createdAt":"2026-03-27T10:44:56.635Z","optimizeAddGift":true,"enableAddParentLineKey":true,"isBxgxV2":true},"congratsBarDesignSetting":{"name":"Congrats bar","icon":"free_gift_icon_8","type":"congrats-bar","newTextColor":"#ffffff","background":"#ac9669","newIconColor":"#000000","gradientBackground":false,"shopId":"3rRPp0rjVHkdUgMpqHvO","createdAt":"2026-03-27T10:44:53.196Z","theme":"scheme-58084d4c-a86e-4d0a-855e-a0966e5043f7","id":"gMHcYtI0rxst7AZNrLsa"},"giftCampaigns":[{"id":"Se19xyekQg9IvUnj9WOz","status":"active","code":"FREEGIFTOVER50","discountCodeAppId":"gid:\/\/shopify\/DiscountCodeNode\/1820259549530","minimumTriggerValue":"50","enabledCongratsBar":true,"grabGiftBehavior":"manual","congratsBarText":"Yay! You unlocked a FREE gift in your cart!","popupTitle":"Woohoo, a special surprise awaits!","createdAt":"2026-03-31T21:28:03.768Z","popupDescription":"Your cart qualifies for special gifts. Add them now before checking out!","giftProducts":[{"handle":"avp-gel-colour-15ml-222","id":"10666673209690","hasOnlyDefaultVariant":true,"hasSelectedAllVariants":true,"image":"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/3371\/1962\/files\/avp_222.jpg?v=1779117512","options":[{"name":"Title","values":["Default Title"]}],"status":"ACTIVE","title":"AVP Gel Colour 15ml - 222","totalInventory":10,"variants":[{"id":"53270981869914","image":"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/3371\/1962\/files\/1758120413-24967500_59c1d4f1-3cde-4049-a181-a357242d814a.jpg?v=1768913220","inventoryPolicy":"DENY","isTracked":true,"selectedOptions":[{"name":"Title","value":"Default Title"}],"title":"Default Title","price":"2.50","compareAtPrice":"10.00","inventoryQuantity":10}],"quantity":1,"totalVariants":1}],"discountType":"free","discountValue":10,"discountCombinations":["order_discounts","shipping_discounts","product_discounts"],"enabledEndDate":false,"startDate":"2026-03-31T21:25:56.293Z","endDate":null,"type":"gift-with-cart-value","shopId":"3rRPp0rjVHkdUgMpqHvO","enabledGiftLimitation":false,"maximumGifts":1,"name":"Gift with cart value #1","excludedProducts":[],"enabledExcludedProducts":false,"enabledPromotionCard":false,"promotionCardMessage":"Spend {{trigger_value}} to receive gifts","promotionCardMessageGiftLimit":"Spend {{trigger_value}} and get a free gift","promotionCardMessageWhenReached":"Nice! Youâve unlocked free gifts","promotionCardTitle":"EXCLUSIVE GIFTS!","enabledSharableLink":false,"enabledCountdownTimer":true,"enabledUsageLimit":false,"valueUsageLimit":1,"purchasedCount":0,"enabledOncePerCustomer":false,"enabledAllCustomer":true,"enabledCustomerSegment":false,"customerSegments":[],"enabledMultiCurrency":false,"currencyData":[],"giftProductsOptionB":[],"enabledABTesting":false,"enabledABTestOptionA":false,"enabledABTestOptionB":false,"discountTypeOptionB":"free","discountValueOptionB":10,"endedABTestAt":null,"enabledCustomerLocation":false,"customerLocations":[],"enabledExcludeCustomerLocation":false,"excludeCustomerLocations":[],"enabledExcludeCustomerSegment":false,"excludeCustomerSegments":[],"floatingButtonTitle":"You got free gifts!","floatingTitle":"You've unlocked a special gifts!","floatingDescription":"Select your favorite items at exclusive prices","excludedCollections":[],"excludedType":"excluded-product","enabledMultiplyGift":false,"includeCollection":[],"includeType":"included-product","totalGifts":1,"campaignCartTitle":"Free Gifts","campaignCartSubtitle":"Youâve qualified for this gift","popupCartTitle":"You've unlocked a special gifts!","popupCartDescription":"Select your favorite items at exclusive prices","redirectPage":"home","triggerPage":[]}],"popUpDesignSetting":{"name":"Pop-up","type":"pop-up","addToCartText":"Add to cart","continueShoppingText":"Continue Shopping","countGiftText":"gift(s) selected","searchPlaceholder":"Search ...","variantPlaceholder":"Choose variant","borderRadius":8,"layout":"horizontal","displayLocation":"all","colorStyle":"basic","primaryColor":"#ac9669","secondaryColor":"#000000","headerBackgroun
17924d":"#FFFFFF","headerText":"#1C1C1C","primaryText":"#1C1C1C","secondaryText":"#33333380","background":"#FFFFFF","productBackground":"#33333308","productSelectedBackground":"#1C1C1C08","productSelectedBorder":"#1C1C1C","buttonBackground":"#ffedf7","buttonText":"#000000","badgeBackground":"#000000","tertiaryText":"#1C1C1C","badgeText":"#ffffff","shopId":"3rRPp0rjVHkdUgMpqHvO","createdAt":"2026-03-27T10:44:53.416Z","theme":"scheme-58084d4c-a86e-4d0a-855e-a0966e5043f7","id":"xvM3p0Qv2pn9OE6Fiydf"},"storefrontAccessToken":"e3055ac9983753e5ee0af9f048b97dee"}; 17925 const optimizeAddGift = metafields.configSettings?.optimizeAddGift; 17926 const enableUsOcInstock = metafields.configSettings?.enableUsOcInstock; 17927 17928 const collections = []; 17929 const productsOfCollection = {}; 17930 17931 productsOfCollection[10666571170138] = {}; 17932 17933 productsOfCollection[10666571170138][53270702719322] = { 17934 price: 500, 17935 }; 17936 17937 17938 productsOfCollection[10666571268442] = {}; 17939 17940 productsOfCollection[10666571268442][53270702883162] = { 17941 price: 500, 17942 }; 17943 17944 17945 productsOfCollection[10666571235674] = {}; 17946 17947 productsOfCollection[10666571235674][53270702850394] = { 17948 price: 500, 17949 }; 17950 17951 17952 productsOfCollection[10666595680602] = {}; 17953 17954 productsOfCollection[10666595680602][53270759309658] = { 17955 price: 80, 17956 }; 17957 17958 17959 17960 17961 17962 const metafieldVariants = {} 17963 if(enableUsOcInstock){ 17964 17965 metafieldVariants[54916494557530] = false; 17966 17967 metafieldVariants[54916494590298] = false; 17968 17969 } 17970 17971 17972 17973 17974 collections.push("670949638490"); 17975 17976 collections.push("670952161626"); 17977 17978 collections.push("670951145818"); 17979 17980 collections.push("672830783834"); 17981 17982 collections.push("673110819162"); 17983 17984 collections.push("670951113050"); 17985 17986 collections.push("670956454234"); 17987 17988 const currentCart = {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"GBP","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}; 17989 const cartItems = []; 17990 const productsCart = []; 17991 17992 17993 const cartItemUpdated = cartItems.map((item) => { 17994 const productInItem = productsCart.find(p => p.id === item.variant_id); 17995 if (productInItem) { 17996 return { 17997 ...item, 17998 collections: productInItem.collections, 17999 ...(enableUsOcInstock && { metafieldUsOcInstock: productInItem.metafieldUsOcInstock }), 18000 }; 18001 } 18002 return item; 18003 }); 18004 18005 return { 18006 ...metafields, 18007 // Shops installed before the key was renamed only have the legacy 18008 // `storeFrontAccessToken` (capital F) metafield. This line runs AFTER the spread 18009 // above, so without the `default:` fallback it renders `null` and overwrites the 18010 // valid token that `...metafields` just brought in. getStorefrontToken() then reads 18011 // null, misses its cache, and calls /ensure-storefront-token on every page load. 18012 // Remove the fallback once the legacy shops are backfilled to the lowercase key. 18013 storefrontAccessToken: "e3055ac9983753e5ee0af9f048b97dee", 18014 18015 shopCurrency: "GBP", 18016 marketCountry: "GB",marketId: 103848444250, 18017 cart: { 18018 cartItems: cartItemUpdated 18019 }, 18020 product: { 18021 id: 11020550406490, 18022 variants: [{"id":54916494557530,"title":"Black","option1":"Black","option2":null,"option3":null,"sku":"AP-NOVA-MINI-B","requires_shipping":true,"taxable":true,"featured_image":{"id":75001196314970,"product_id":11020550406490,"position":1,"created_at":"2026-10-06T16:12:21+01:00","updated_at":"2026-10-06T16:12:24+01:00","alt":null,"width":2000,"height":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544","variant_ids":[54916494557530]},"available":true,"name":"Aprés Mini Nova Led Lamp - Black","public_title":"Black","options":["Black"],"price":9995,"weight":1100,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":62492790292826,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":54916494590298,"title":"White","option1":"White","option2":null,"option3":null,"sku":"AP-NOVA-MINI-W","requires_shipping":true,"taxable":true,"featured_image":{"id":75001201885530,"product_id":11020550406490,"position":7,"created_at":"2026-10-06T16:13:23+01:00","updated_at":"2026-10-06T16:13:26+01:00","alt":null,"width":2000,"height":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_White-01.jpg?v=1791299606","variant_ids":[54916494590298]},"available":true,"name":"Aprés Mini Nova Led Lamp - White","public_title":"White","options":["White"],"price":9995,"weight":1100,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":62492795863386,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_White-01.jpg?v=1791299606"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}], 18023 selectedVariant: null, 18024 collectionTitles: ["Apres","Electricals","ELECTRONICS","New","New In","Tools \u0026 Accessories","UV\/LED Lamps"], 18025 collectionIds: [670949638490,670952161626,670951145818,672830783834,673110819162,670951113050,670956454234], 18026 title: "Aprés Mini Nova Led Lamp", 18027 type: "", 18028 handle: "apres-nova-led-lamp-mini", 18029 vendor: "APRES", 18030 tags: ["New In"], 18031 price: 9995, 18032 hasOnlyDefaultVariant: false, 18033 available: true, 18034 image: "\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544", 18035 options: [{"name":"Colour","position":1,"values":["Black","White"]}], 18036 ...(enableUsOcInstock ? {metafieldVariants} : {}), 18037 18038 }, 18039 customer: { 18040 id: null, 18041 email: null, 18042 first_name: null, 18043 last_name: null, 18044 isB2B: null, 18045 }, 18046 currentCart, 18047 currentRequestID: 0, 18048 productsOfCollection 18049 } 18050 }; 18051 if (!window.AVADA_FREE_GIFTS) window.AVADA_FREE_GIFTS = initFreeGiftData(); 18052 } catch (e) { 18053 console.error('Error assigning aov free gift variable', e); 18054 } 18055</script>
18055 18056<!-- END app snippet --> 18057 18058 18059</div><div id="shopify-block-AVDVzSVVWclljdm5RV__18147337299481159562" class="shopify-block shopify-app-block"> 18060<link rel="preload" href="https://cdn.shopify.com/extensions/01a0c2dc-0fea-7e5e-93fb-190052337476/pify-order-purchase-limit-452/assets/pol_def.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> 18061<noscript><link rel="stylesheet" href="https://cdn.shopify.com/extensions/01a0c2dc-0fea-7e5e-93fb-190052337476/pify-order-purchase-limit-452/assets/pol_def.min.css"></noscript> 18062 18063<!-- BEGIN app snippet: app-init-zip --> 18064 18065 18066 18067 18068 18069<div class="pol-m"> 18070 <div class="pol-m-c"> 18071 <div class="pol-i"> 18072 <div class="pol-i-li1"> 18073 <div class="pol-i-li1-t">Cannot place order, conditions not met:</div> 18074 <div class="pol-i-li1-x"> 18075 <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" class="icon-close" 18076 fill="none" viewBox="0 0 18 17"> 18077 <path 18078 d="M.865 15.978a.5.5 0 00.707.707l7.433-7.431 7.579 7.282a.501.501 0 00.846-.37.5.5 0 00-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 10-.707-.708L8.991 7.853 1.413.573a.5.5 0 10-.693.72l7.563 7.268-7.418 7.417z" 18079 fill="currentColor"></path> 18080 </svg> 18081 </div> 18082 </div> 18083 <div class="pol-i-li2"> 18084 <div class="pol-u"></div> 18085 </div> 18086 <div class="pol-i-li3"> 18087 <div class="pol-i-li3-t"> 18088 </div> 18089 <div class="pol-i-li3-s">OK</div> 18090 </div> 18091 </div> 18092 </div> 18093</div> 18094
18095<script> 18096 var _ps = {}; 18097 var _pol_rate = Shopify.currency?.rate ?? 1.0; 18098 18099 _ps.pageType = "product"; //index/collection/product/cart/page/search/list-collections 18100 _ps.shopDomain = Shopify.shop; 18101 // Custom compatibility for firewood-factory.myshopify.com. 18102 if ( 18103 _ps.shopDomain === 'firewood-factory.myshopify.com' && 18104 !document.querySelector('link[data-pify-firewood-factory-css="1"]') 18105 ) { 18106 var pifyFirewoodFactoryCss = document.createElement('link'); 18107 pifyFirewoodFactoryCss.rel = 'stylesheet'; 18108 pifyFirewoodFactoryCss.href = "https:\/\/cdn.shopify.com\/extensions\/01a0c2dc-0fea-7e5e-93fb-190052337476\/pify-order-purchase-limit-452\/assets\/pol_def_firewood-factory.min.css"; 18109 pifyFirewoodFactoryCss.setAttribute('data-pify-firewood-factory-css', '1'); 18110 document.head.appendChild(pifyFirewoodFactoryCss); 18111 } 18112 18113 _ps.countryCode = "GB"; 18114 18115 18116 _ps.marketHandle = "gb"; 18117 18118 _ps.marketId = null; 18119 18120 18121 _ps.defaultLanguageIsoCode = "en"; 18122 18123 _ps._sdwcc = true; 18124 18125 18126 _ps._iispwl = false; 18127 18128 18129 _ps._iisrwl = false; 18130 18131 18132 _ps.locale = "en"; 18133 var _shopifyLocale = typeof Shopify !== "undefined" ? Shopify.locale : null; 18134 if (typeof _shopifyLocale === "string" && _shopifyLocale.trim() !== "") _ps.locale = _shopifyLocale; 18135 18136 18137 18138 18139 18140 _ps.customerCurrency = { "currencyCode": "GBP", "currencySymbol": "£", "currencyRate": _pol_rate }; 18141 _ps.shopCurrency = { "currencyCode": "GBP", "weightUnit": "g" }; 18142 _ps.theme = { "schemaName": Shopify.theme.schema_name } 18143 _ps.globalSetting = {}; 18144 _ps.cartLimitRules = {}; 18145 _ps.orderLimitRules = {}; 18146 _ps.globalLimitRules = {}; 18147 _ps.collectionLimitRules = []; 18148 _ps.productLimitRules = []; 18149 _ps.variantLimitRules = []; 18150 _ps.orderLimitAlertMessages = {}; 18151 _ps.collectionLimitAlertMessages = {}; 18152 _ps.productLimitAlertMessages = {}; 18153 _ps.variantLimitAlertMessages = {}; 18154 _ps._pub = false; 18155 _ps.product = {}; 18156 _ps.productCollectionIds = []; 18157 _ps.variants = []; 18158 18159 18160 18161 18162 18163 18164 18165 18166 18167 18168 _ps.productLimitRules = [{"p":10666632642906,"inasp":true,"mq":1,"Mq":1,"qm":1,"mqv":1,"Mqv":1,"mv":1,"evil":[53270900539738],"ut":1788881624,"gst":"all"}]; 18169 18170 18171 18172 18173 18174 18175 18176 18177 18178 18179 18180 18181 18182 18183 18184 _ps.productLimitAlertMessages = [{"Key":"en","Value":{"languageIsoCode":"en","isNotAllowSinglePurchase":"\"{productTitle}\" cannot be purchased individually and must be bought together with other items.","minQuantityPerProduct":"Quantity for \"{productTitle}\" is below the minimum requirement. Minimum: {minProductQuantity}, Current: {currentQuantity}.","maxQuantityPerProduct":"Quantity for \"{productTitle}\" exceeds the maximum limit. Maximum: {maxProductQuantity}, Current: {currentQuantity}.","quantityMultiplePerProduct":"Quantity for \"{productTitle}\" must be a multiple of {productQuantityMultiple}
18184. Current: {currentQuantity}.","minQuantityPerVariant":"Quantity for \"{productTitle} - {variantTitle}\" is below the minimum requirement. Minimum: {minVariantQuantity}, Current: {currentQuantity}.","maxQuantityPerVariant":"Quantity for \"{productTitle} - {variantTitle}\" exceeds the maximum limit. Maximum: {maxVariantQuantity}, Current: {currentQuantity}.","quantityMultiplePerVariant":"Quantity for \"{productTitle} - {variantTitle}\" must be a multiple of {variantQuantityMultiple}. Current: {currentQuantity}.","isDefault":true}},{"Key":"vi","Value":{"languageIsoCode":"vi","isNotAllowSinglePurchase":"\"{productTitle}\" không thá» mua riêng lẻ và phải ÄÆ°á»£c mua cùng vá»i các sản phẩm khác.","minQuantityPerProduct":"Sá» lượng cá»§a \"{productTitle}\" thấp hÆ¡n mức tá»i thiá»u. Tá»i thiá»u: {minProductQuantity}, Hiá»n tại: {currentQuantity}.","maxQuantityPerProduct":"Sá» lượng cá»§a \"{productTitle}\" vượt quá mức tá»i Äa. Tá»i Äa: {maxProductQuantity}, Hiá»n tại: {currentQuantity}.","quantityMultiplePerProduct":"Sá» lượng cá»§a \"{productTitle}\" phải là bá»i sá» cá»§a {productQuantityMultiple}. Hiá»n tại: {currentQuantity}.","minQuantityPerVariant":"Sá» lượng cá»§a \"{productTitle} - {variantTitle}\" thấp hÆ¡n mức tá»i thiá»u. Tá»i thiá»u: {minVariantQuantity}, Hiá»n tại: {currentQuantity}.","maxQuantityPerVariant":"Sá» lượng cá»§a \"{productTitle} - {variantTitle}\" vượt quá mức tá»i Äa. Tá»i Äa: {maxVariantQuantity}, Hiá»n tại: {currentQuantity}.","quantityMultiplePerVariant":"Sá» lượng cá»§a \"{productTitle} - {variantTitle}\" phải là bá»i sá» cá»§a {variantQuantityMultiple}. Hiá»n tại: {currentQuantity}.","isDefault":false}}]; 18185 18186 18187 18188 _ps.variantLimitAlertMessages = [{"Key":"en","Value":{"languageIsoCode":"en","minQuantity":"Quantity for \"{productTitle} - {variantTitle}\" is below the minimum requirement. Minimum: {minVariantQuantity}, Current: {currentQuantity}.","maxQuantity":"Quantity for \"{productTitle} - {variantTitle}\" exceeds the maximum limit. Maximum: {maxVariantQuantity}, Current: {currentQuantity}.","multiple":"Quantity for \"{productTitle} - {variantTitle}\" must be a multiple of {variantQuantityMultiple}
18188. Current: {currentQuantity}.","isNotAllowSinglePurchase":"\"{productTitle} - {variantTitle}\" cannot be purchased individually and must be bought together with other items.","isOnlyAllowSinglePurchase":"\"{productTitle} - {variantTitle}\" can only be purchased individually and cannot be bought together with other items.","isDefault":true}},{"Key":"vi","Value":{"languageIsoCode":"vi","minQuantity":"Sá» lượng cho \"{productTitle} - {variantTitle}\" thấp hÆ¡n yêu cầu tá»i thiá»u. Tá»i thiá»u: {minVariantQuantity}, Hiá»n tại: {currentQuantity}.","maxQuantity":"Sá» lượng cho \"{productTitle} - {variantTitle}\" vượt quá giá»i hạn tá»i Äa. Tá»i Äa: {maxVariantQuantity}, Hiá»n tại: {currentQuantity}.","multiple":"Sá» lượng cho \"{productTitle} - {variantTitle}\" phải là bá»i sá» cá»§a {variantQuantityMultiple}. Hiá»n tại: {currentQuantity}.","isNotAllowSinglePurchase":"\"{productTitle} - {variantTitle}\" không thá» mua riêng lẻ và phải ÄÆ°á»£c mua cùng vá»i các mặt hà ng khác.","isOnlyAllowSinglePurchase":"\"{productTitle} - {variantTitle}\" chá» có thá» mua riêng lẻ và không thá» mua cùng vá»i các mặt hà ng khác.","isDefault":false}}]; 18189 18190 18191 _ps.product = { "id": 11020550406490, "title": "Aprés Mini Nova Led Lamp" }; 18192 18193 18194 18195 _ps.productCollectionIds.push(670949638490); 18196 18197 _ps.productCollectionIds.push(670952161626); 18198 18199 _ps.productCollectionIds.push(670951145818); 18200 18201 _ps.productCollectionIds.push(672830783834); 18202 18203 _ps.productCollectionIds.push(673110819162); 18204 18205 _ps.productCollectionIds.push(670951113050); 18206 18207 _ps.productCollectionIds.push(670956454234); 18208 18209 18210 18211 18212 _ps.variants.push({ "id": 54916494557530, "title": "Black", "price": 9995, "weight": 1100, "weight_unit": "g" }); 18213 18214 _ps.variants.push({ "id": 54916494590298, "title": "White", "price": 9995, "weight": 1100, "weight_unit": "g" }); 18215 18216 _ps.shopCurrency.weightUnit = "g"; 18217 18218 18219 _ps._pub = true; 18220 18221_ps._sa = {}; 18222 18223 18224 _ps._sfat = "96fd5fae73adc7bcdb95f13d4027eec6"; 18225 _ps._log = false; 18226 _ps._ver = ""; 18227 Object.assign(_ps._sa, 18228 { 18229 "_a1": "", 18230 "_a2": "", 18231 "_a3": false, 18232 "_a4": "", 18233 "_a5": "", 18234 "_a6": false, 18235 "_a7": "div.product-details form[action=\"\/cart\/add\"] button.add-to-cart-button", 18236 "_a8": "", 18237 "_a9": false, 18238 "_aa": "#checkout", 18239 "_ab": "a.header-actions__action", 18240 "_ac": false, 18241 "_ad": false, 18242 "_ae": "", 18243 "_af": true, 18244 "_ag": "index,collection,product", 18245 "_ah": false 18246 }); 18247 18248 18249 18250 18251 Object.assign(_ps._sa, 18252 { 18253 "_d1": "", 18254 "_d2": "", 18255 "_d3": "", 18256 "_d4": "", 18257 "_d5": 0, 18258 "_d6": "", 18259 "_d7": "", 18260 "_d8": "", 18261 "_d9": "", 18262 "_da": "", 18263 "_db": 0, 18264 "_dc": "form[action=\"\/cart\/add\"] quantity-selector-component input[name=\"quantity\"]", 18265 "_dd": "button[name=\"minus\"]", 18266 "_de": "button[name=\"plus\"]", 18267 18268 "_e1": 1, 18269 "_e2": 0, 18270 "_e3": "", 18271 "_e4": "", 18272 "_e5": "", 18273 "_e6": null, 18274 "_e7": null, 18275 "_e8": 0, 18276 "_e9": "div.product-information form[action=\"\/cart\/add\"] input[name=\"id\"][ref=\"variantId\"]" 18277 }); 18278 18279 18280 18281 18282 18283 Object.assign(_ps._sa, 18284 { 18285 "_i1": "#checkout", 18286 "_i2": 1, 18287 "_i3": "#cart-form input[name=\"updates[]\"]", 18288 "_i4": "button[name=\"minus\"]", 18289 "_i5": "button[name=\"plus\"]", 18290 "_i6": 0, 18291 "_i7": "cart_line", 18292 "_i8": "", 18293 "_i9": "", 18294 "_ia": "data-cart-line", 18295 "_ib": "", 18296 "_ic": 2, 18297 "_id": "dialog.cart-drawer__dialog", 18298 "_ie": "", 18299 "_if": "", 18300 "_ig": "open", 18301 "_ih": "null", 18302 "_ii": 0, 18303 "_ij": 1, 18304 "_ik": 3, 18305 "_il": "dialog.cart-drawer__dialog cart-items-component", 18306 "_im": "", 18307 "_in": "", 18308 "_io": "class", 18309 "_ip": "cart-items-disabled", 18310 "_iq": 0, 18311 "_ir": true, 18312 "_is": "", 18313 "_it": 1, 18314 "_iu": "" 18315 }); 18316 18317 18318 18319 18320 18321 18322 18323 18324 18325 18326 if (_ps && _ps._sa._a7 != '') { 18327 const isUnavailable = (btn) => { 18328 if (!btn) return true; 18329 const t = (btn.textContent || '').toLowerCase(); 18330 return t.includes('sold out') || t.includes('out of stock') || t.includes('unavailable'); 18331 }; 18332 18333 const els = document.querySelectorAll(_ps._sa._a7); 18334 if (els && els.length > 0) {
18335 els.forEach(e => { 18336 if (!isUnavailable(e)) { 18337 e.setAttribute('data-pol-temp-disabled', '1'); 18338 e.setAttribute('disabled', true); 18339 } 18340 }); 18341 } 18342 18343 setTimeout(function () { 18344 const restoreEls = document.querySelectorAll(_ps._sa._a7); 18345 if (restoreEls && restoreEls.length > 0) { 18346 restoreEls.forEach(e => { 18347 if (e && e.getAttribute('data-pol-temp-disabled') === '1') { 18348 if (!isUnavailable(e)) { 18349 e.removeAttribute('disabled'); 18350 } 18351 e.removeAttribute('data-pol-temp-disabled'); 18352 } 18353 }); 18354 } 18355 }, 3000); 18356} 18357 18358 18359 18360 18361 18362</script>
18362 18363 18364 18365 18366 18367 18368 18369 18370 18371 18372 18373 18374 18375 18376
18376<script src="https://cdn.shopify.com/extensions/01a0c2dc-0fea-7e5e-93fb-190052337476/pify-order-purchase-limit-452/assets/pol_zip_p.min.js" type="module" defer="defer" async="async"></script>
18376 18377
18377<script src="https://cdn.shopify.com/extensions/01a0c2dc-0fea-7e5e-93fb-190052337476/pify-order-purchase-limit-452/assets/pol_zip_p.min.js" nomodule defer="defer" async="async"></script>
18377 18378 18379 18380 18381<!-- END app snippet --> 18382 18383 18384</div><div id="shopify-block-AZFd6aGFnS21FS1hVa__13768625480086291342" class="shopify-block shopify-app-block">
18384<script> 18385 window['ShopifyForms'] = { 18386 ...window['ShopifyForms'], 18387 currentPageType: "product" 18388 }; 18389</script>
18389 18390 18391 18392</div><div id="shopify-block-AK0h3cTVsZkRtSWZvY__back-in-stock-restock-alerts-4bb73be2-b7c2-4870-949f-c528145452a3" class="shopify-block shopify-app-block"><link rel="preconnect" href="https://app.restockrocket.io" crossorigin><link rel="preconnect" href="https://tnbl-uk.myshopify.com" crossorigin><!-- Config and setup JS -->
18393<script id="RestockRocketConfig"> 18394 window._RestockRocketConfig = window._RestockRocketConfig || {} 18395 window._RestockRocket = window._RestockRocket || {} 18396 window._Stoq = window._RestockRocket 18397 window._StoqConfig = window._RestockRocketConfig 18398 try { window._RestockRocket.inlineRanAt = performance.now(); } catch (e) { } 18399 function normalizeLocale(locale) { 18400 if (!locale || locale.trim() === '') { 18401 return ''; 18402 } 18403 return locale.toString().toLowerCase().replace(/-/g, '_'); 18404 } 18405 18406 window._RestockRocketConfig.locale = 'en'; 18407 window._RestockRocketConfig.normalizedLocale = normalizeLocale('en'); 18408 window._RestockRocketConfig.shop = 'tnbl-uk.myshopify.com'; 18409 window._RestockRocketConfig.pageType = 'product'; 18410 window._RestockRocketConfig.liquidRenderedAt = 1791516146;window._RestockRocketConfig.marketId = 103848444250;window._RestockRocketConfig.countryName = 'United Kingdom'; 18411 window._RestockRocketConfig.countryIsoCode = 'GB';window._RestockRocketConfig.languageIsoCode = 'en';window._RestockRocketConfig.cartInventoryQuantity = {}; 18412 if (!window._RestockRocketConfig.cartToken) { 18413 try { 18414 const m = document.cookie.match(/(?:^|;\s*)cart=([^;]+)/); 18415 if (m && m[1]) window._RestockRocketConfig.cartToken = decodeURIComponent(m[1]); 18416 } catch (e) { } 18417 } 18418window._RestockRocketConfig.cachedSettings = {"id":51063,"shop_id":51039,"currency":"GBP","created_at":"2026-01-07T00:00:21.123Z","updated_at":"2026-10-01T04:51:42.865Z","enable_app":true,"enable_signup_widget":true,"storefront_button_text":"Notify me when available","storefront_button_text_color":"#FFFFFF","storefront_button_background_color":"#202223","storefront_form_header":"Notify me","storefront_form_description":"Get a notification as soon as this product is back in stock by signing up below!","storefront_form_button_text":"Notify me when available","storefront_form_button_text_color":"#FFFFFF","storefront_form_button_background_color":"#202223","storefront_form_terms":"Promise we won't spam. You'll only receive notifications for this product.","storefront_form_error":"Please enter a valid email address","storefront_form_success":"Thank you! We will notify you when the product is available.","enable_powered_by":true,"show_button_on_preorder":false,"sms_enabled":false,"email_enabled":true,"storefront_button_disable_tag":"rocket-hide","theme_config":{"preorderButtonDelayAmount":1000},"storefront_form_email_placeholder":"Email address","storefront_form_phone_placeholder":"SMS","storefront_form_phone_label":"Phone number","storefront_form_email_label":"Email","storefront_form_phone_error":"Please enter a valid phone number","storefront_form_customer_name_placeholder":"Name","storefront_form_customer_name_error":"Please enter your name","storefront_form_did_you_mean_error":"Did you mean %{suggested_email}? Or use %{current_email}","form_customer_name_enabled":false,"form_customer_name_required":false,"css_config":"/* Theme defaults from Horizon (any version) */\n \n\n.restock-rocket-button {\n height: 55px !important;\n border-radius: 15px !important;\n}\n\n","js_config":"/* Theme defaults from Horizon (any version) */\nlet selector = 'dialog[open]'; window.addEventListener('stoq:preorder-modal:opened', function(event) { console.log('Preorder modal opened!', event.detail); const dialog = document.querySelector(selector); if (dialog) { dialog.close() } }); window.addEventListener('stoq:restock-modal:opened', function(event) { console.log('Restock modal opened!', event.detail); const dialog = document.querySelector(selector); if (dialog) { dialog.close() } });","collect_promotion_consent":false,"storefront_form_promotion_consent_label":"Notify me about other news, sales, discounts & offers too!","show_button_on_collection":false,"sms_default_country":"us","sms_allowed_countries":[],"sms_restrict_country":false,"sms_default_channel":true,"optin_required":false,"optin_custom_domain_enabled":false,"optin_success_text":"Registration confirmed! You'll receive an alert when the product is restocked.","storefront_button_border_radius":0,"storefront_button_disable_tag_hides_button":true,"storefront_button_disable_tag_enabled":false,"quantity_required":false,"storefront_form_quantity_label":"Quantity","enable_alerts":true,"sms_allowed":false,"email_allowed":true,"collect_promotion_consent_default":true,"insert_button_after_selector":".product-form-buttons","insert_button_after_selector_type":"afterend","storefront_button_position_type":"specific","storefront_form_duplicate_error":"You've already subscribed for alerts to this product.","storefront_mixed_cart_error":"Preorders must be purchased
18418separately from regular items. Please complete your current order first, or clear your cart to continue.","storefront_error_heading":"Error","default_locale":"en","collection_page_button_text_color":"#FFFFFF","collection_page_button_background_color":"#202223","show_button_if_any_out_of_stock":false,"show_button_if_any_variant_out_of_stock_collection":false,"show_button_on_index":false,"insert_button_after_selector_collection":".product-card__content","insert_button_after_selector_index":".product-card__content","push_enabled":false,"push_allowed":false,"storefront_form_push_label":"Push","storefront_form_push_description":"Click 'Allow' to be notified via push notification","storefront_form_push_error":"Permission rejected! Please review notification settings and try again.","storefront_font_family":"OpenSans","insert_button_after_selector_collection_type":"afterend","show_channel_selector":false,"storefront_form_empty_error":"Please fill in one or more of the options above","storefront_form_push_input":"Send push notification","insert_button_after_selector_page":".product-card__content","show_button_on_page":false,"insert_button_after_selector_search":".product-card__content","show_button_on_search":false,"app_proxy_path_prefix":"/apps/restockrocket-production","collection_link_selector":"","index_link_selector":"","page_link_selector":"","search_link_selector":"","collection_check_link_visibility":true,"collection_buttons_container":"","index_buttons_container":"","page_buttons_container":"","search_buttons_container":"","extension_enable_url_variant_detection":true,"extension_enable_value_variant_detection":true,"extension_value_variant_selector":"[name='id']","resubscribe_text":"This product is out of stock. Get notified when itâs restocked again by entering your details below!","preorder_enabled":false,"preorder_buy_button_selector":"","preorder_add_to_cart_button_selector":"add-to-cart-component button","preorder_badge_selector":"product-price div","preorder_button_out_of_stock_text":"Out of stock","preorder_button_add_to_cart_text":"Add to cart","preorder_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_enabled":false,"preorder_collection_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_index_enabled":false,"preorder_index_form_selector":"form[action*=\"/cart/add\"]","preorder_index_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_page_enabled":false,"preorder_page_form_selector":"form[action*=\"/cart/add\"]","preorder_page_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_search_enabled":false,"preorder_search_form_selector":"form[action*=\"/cart/add\"]","preorder_search_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_collection_badge_selector":"","preorder_index_badge_selector":"","preorder_page_badge_selector":"","preorder_search_badge_selector":"","preorder_badge_selector_type":"beforeend","preorder_collection_badge_selector_type":"afterend","preorder_button_child_selector":".add-to-cart-text__content","preorder_button_disclaimer_insert_selector":"","preorder_button_disclaimer_insert_selector_type":"afterend","preorder_payment_insert_selector":".product-form-buttons","preorder_payment_insert_selector_type":"beforebegin","preorder_price_container_selector":".price","preorder_price_container_selector_insert_type":"afterend","preorder_terms_insert_selector":"","preorder_terms_insert_selector_type":"afterend","preorder_original_price_selector":"product-price .price","preorder_price_format":"{{amount}} {{currency}}","show_badge_if_any_variant_is_preorder":false,"enable_console_debug":false,"inline_form_enabled":false,"inline_form_selector":".shopify-product-form","inline_form_selector_type":"afterend","storefront_form_prefill_customer":true,"storefront_form_show_image":false,"storefront_form_text_color":"#202223","storefront_form_background_color":"#FFFFFF","storefront_form_border_radius":10,"market_setup_type":"single_market","shopify_app_id":5940125,"preorder_progress_bar_insert_selector":"","preorder_progress_bar_insert_selector_type":"beforebegin","countdown_timer_insert_selector":"","countdown_timer_insert_selector_type":"afterend","configure_notify_me_enabled":false,"restock_note_insert_selector":null,"restock_note_insert_selector_type":"afterend","restock_note_background_color":"#f3f4f6","restock_note_text_color":"#202223","restock_note_border_radius":4,"preorder_modal_continue_button_text":"Continue","preorder_modal_cancel_button_text":"Cancel","meta_pixel_enabled":false,"meta_pixel_id":null,"cache":true,"cached_at":"2026-10-01T04:51:42.894Z","multi_language_enabled":false,"translation_locale":"en","disable_refresh_on_stale_liquid":false,"api_host":"https://ext.stoqapp.com"};window._RestockRocketConfig.storefrontAccessToken = "41e1fe566da10458dd3f2635ef4b3fd5"; 18419 window._RestockRocketConfig.metafieldNamespace = 'restockrocket_production'; 18420 window._RestockRocketConfig.storefrontApiVersion = '2026-07';window._RestockRocketConfig.cachedPreorderVariantIds = { preorder_variant_ids: [] };window._RestockRocketConfig.cachedInStockVariantIds = { in_stock_variant_ids: [] };window._RestockRocketConfig.cachedOutOfStockVariantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = { variant_preorder_limits: {} };window._RestockRocketConfig.cachedVariantShippingTexts = { variant_shipping_texts: {} }; 18421window._RestockRocketConfig.sellingPlans = [];(function() { 18422 const cachedData = {"plans":[{"shopify_selling_plan_group_id":79468331354,"shopify_selling_plan_id":692204306778,"enabled":false,"variant_ids":[54395368735066,54395368931674,54395368505690,54395368243546,54395392196954,54395357987162],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Pre-order before it's gone.","preorder_button_description_enabled":false,"preorder_button_description_background_color":"#1F2937","preorder_button_description_text_color":"#FFFFFF","preorder_button_description_border_radius":10,"preorder_button_description_show_quantity_limit":false,"preorder_button_description_quantity_limit_suffix":" units available for preorder","preorder_button_description_shipping_text_prefix":"Shipping: ","delivery_exact_time":null,"delivery_after_n_intervals":null,"delivery_at":"2026-07-06T16:54:33.557Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":true,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"Shipping: Ships by 17 July 2026","shipping_applies_to_all_products":true,"shipping_text":"Shipping: Ships by 17 July 2026","payment_type":"full","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"discount_text":"Save {{ discount }}","billing_title":"Full payment","billing_description":null,"enable_billing_widget":false,"inventory_provider":"stoq","preorder_badge_enabled":false,"preorder_badge_text":"Preorder","preorder_badge_text_color":"#FFFFFF","preorder_badge_background_color":"#000000","preorder_discounted_price_enabled":null,"payment_line_item_property_enabled":false,"shipping_line_item_property_enabled":true,"custom_line_item_property_text":null,"preorder_button_colors_enabled":false,"markets_enabled":false,"shopify_market_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":true,"payment_options":[{"billing_type":"no_remaining_balance","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","billing_at":"2026-07-06T16:54:33.557Z","billing_after_n_intervals":null,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":692204306778,"is_default":true,"type":"full","translations":{}}],"require_preorder_acknowledgement":false,"preorder_acknowledgement_text":"I acknowledge and agree to the preorder terms and conditions for this product.","disable_button_until_acknowledged":false,"acknowledgement_line_item_property_enabled":false,"acknowledgement_line_item_property_text":"Preorder Terms Accepted","preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":true,"countdown_timer_style":"text","countdown_timer_text_color":"#000000","countdown_timer_background_color":"#f5f5f5","countdown_timer_border_radius":8,"countdown_timer_format":"DHMS","countdown_timer_use_schedule_dates":false,"countdown_timer_custom_start_date":null,"countdown_timer_custom_end_date":"2026-07-13T11:00:00.000Z","countdown_timer_starts_text":null,"countdown_timer_ends_text":null,"countdown_timer_days_label":"Days","countdown_timer_hours_label":"Hours","countdown_timer_minutes_label":"Mins","countdown_timer_seconds_label":"Secs","schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2026-07-24T20:21:4
184226.942Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"batches_enabled":false,"preorder_batches":[]},{"shopify_selling_plan_group_id":79469314394,"shopify_selling_plan_id":692205289818,"enabled":false,"variant_ids":[54397449830746],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Pre-order before it's gone.","preorder_button_description_enabled":false,"preorder_button_description_background_color":"#1F2937","preorder_button_description_text_color":"#FFFFFF","preorder_button_description_border_radius":10,"preorder_button_description_show_quantity_limit":false,"preorder_button_description_quantity_limit_suffix":" units available for preorder","preorder_button_description_shipping_text_prefix":"Shipping: ","delivery_exact_time":null,"delivery_after_n_intervals":null,"delivery_at":"2026-07-08T11:43:03.412Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":true,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"Shipping: As soon as possible","shipping_applies_to_all_products":true,"shipping_text":"Shipping: As soon as possible","payment_type":"full","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"discount_text":"Save {{ discount }}","billing_title":"Full payment","billing_description":null,"enable_billing_widget":false,"inventory_provider":"stoq","preorder_badge_enabled":false,"preorder_badge_text":"Preorder","preorder_badge_text_color":"#FFFFFF","preorder_badge_background_color":"#000000","preorder_discounted_price_enabled":null,"payment_line_item_property_enabled":false,"shipping_line_item_property_enabled":true,"custom_line_item_property_text":null,"preorder_button_colors_enabled":false,"markets_enabled":false,"shopify_market_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":true,"payment_options":[{"billing_type":"no_remaining_balance","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","billing_at":"2026-07-08T11:43:03.412Z","billing_after_n_intervals":null,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":692205289818,"is_default":true,"type":"full","translations":{}}],"require_preorder_acknowledgement":false,"preorder_acknowledgement_text":"I acknowledge and agree to the preorder terms and conditions for this product.","disable_button_until_acknowledged":false,"acknowledgement_line_item_property_enabled":false,"acknowledgement_line_item_property_text":"Preorder Terms Accepted","preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":true,"countdown_timer_style":"text","countdown_timer_text_color":"#000000","countdown_timer_background_color":"#f5f5f5","countdown_timer_border_radius":8,"countdown_timer_format":"DHMS","countdown_timer_use_schedule_dates":true,"countdown_timer_custom_start_date":null,"countdown_timer_custom_end_date":null,"countdown_timer_starts_text":null,"countdown_timer_ends_text":null,"countdown_timer_days_label":"Days","countdown_timer_hours_label":"Hours","countdown_timer_minutes_label":"Mins","countdown_timer_seconds_label":"Secs","schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2026-07-28T15:17:40.080Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased
18422separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"batches_enabled":false,"preorder_batches":[]}],"disabled_plan_ids":[692196213082],"has_in_stock_offer":false,"has_preorder_offer":false,"read_flags":{"enable_storefront_product_reads":true,"enable_storefront_integrations_read":true,"enable_storefront_selling_plans_read":true},"cached_at":"2026-10-04T10:29:37Z"}; 18423 18424 if (cachedData && typeof cachedData === 'object' && cachedData.cached_at) { 18425 window._RestockRocketConfig.readFlags = cachedData.read_flags || {}; 18426 const oldPlans = window._RestockRocketConfig.sellingPlans; 18427 const maxUpdatedAt = Array.isArray(oldPlans) && oldPlans.length > 0 18428 ? oldPlans.reduce(function(max, plan) { 18429 if (plan.updated_at) { 18430 const planDate = new Date(plan.updated_at); 18431 const maxDate = max ? new Date(max) : null; 18432 return (!maxDate || (planDate && !isNaN(planDate) && planDate > maxDate)) ? plan.updated_at : max; 18433 } 18434 return max; 18435 }, '') 18436 : null; 18437 const cachedDate = new Date(cachedData.cached_at); 18438 const maxDate = maxUpdatedAt ? new Date(maxUpdatedAt) : null; 18439 const useCached = !maxUpdatedAt || (cachedDate && !isNaN(cachedDate) && (!maxDate || cachedDate > maxDate)); 18440 18441 if (useCached) { 18442 if (Array.isArray(cachedData.plans)) { 18443 window._RestockRocketConfig.sellingPlans = cachedData.plans; 18444 window._RestockRocketConfig.disabledSellingPlanIds = cachedData.disabled_plan_ids || []; 18445 console.debug('[RR] Using selling plans from cachedSellingPlans (cached_at: ' + cachedData.cached_at + ')'); 18446 } 18447 } else { 18448 window._RestockRocketConfig.disabledSellingPlanIds = []; 18449 console.debug('[RR] Using selling plans from old format (max updated_at: ' + maxUpdatedAt + ')'); 18450 } 18451 } 18452 })();window._RestockRocketConfig.enabledNotifyMeVariantIds = [];window._RestockRocketConfig.disabledNotifyMeVariantIds = [];window._RestockRocketConfig.backInStockTemplates = [];window._RestockRocketConfig.restockNotes = {};window._RestockRocketConfig.integrations = [];window._RestockRocketConfig.product = { 18453 id: 11020550406490, 18454 title: "Aprés Mini Nova Led Lamp", 18455 handle: "apres-nova-led-lamp-mini", 18456 vendor: "APRES", 18457 tags: ["New In"], 18458 available: true, 18459 options: ["Colour"], 18460 selling_plan_groups: [], 18461 featured_image: "\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544\u0026width=800", 18462 variants: [{ 18463 id: 54916494557530, 18464 title: "Black", 18465 available: true, 18466 sku: "AP-NOVA-MINI-B", 18467 price: 9995 18468}, 18469{ 18470 id: 54916494590298, 18471 title: "White", 18472 available: true, 18473 sku: "AP-NOVA-MINI-W", 18474 price: 9995 18475} 18476] 18477 };window._RestockRocketConfig.variantsInventoryPolicy = {54916494557530 : "deny",54916494590298 : "deny",}; 18478 window._RestockRocketConfig.variantsInventoryQuantity = {54916494557530 : 1,54916494590298 : 1,}; 18479 window._RestockRocketConfig.variantsPreorderCount = {54916494557530 : parseInt(""),54916494590298 : parseInt(""),}; 18480 window._RestockRocketConfig.variantsPreorderCountForMarket = {54916494557530 : null,54916494590298 : null,}; 18481 window._RestockRocketConfig.variantsPreorderMaxCount = {54916494557530 : parseInt(""),54916494590298 : parseInt(""),}; 18482 window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {54916494557530 : null,54916494590298 : null,}; 18483 window._RestockRocketConfig.variantsShippingText = {54916494557530 : "",54916494590298 : "",}; 18484 window._RestockRocketConfig.variantsShippingTextForMarket = {54916494557530 : null,54916494590298 : null,};window._RestockRocketConfig.selected_variant_id = 54916494557530; 18485 window._RestockRocketConfig.selected_variant_available = (window._RestockRocketConfig.product.variants.find(function(variant) { return variant.id == window._RestockRocketConfig.selected_variant_id }) || {}).available; 18486 try { 18487 var _sqCfg = window._RestockRocketConfig; 18488 var _sqPlanEnabled = Array.isArray(_sqCfg.sellingPlans) && 18489 _sqCfg.sellingPlans.some(function (p) { return p && p.enabled; }); 18490 var _sqPreCount = ((_sqCfg.cachedPreorderVariantIds && 18491 _sqCfg.cachedPreorderVariantIds.preorder_variant_ids) || []).length; 18492 _sqCfg.preordersConfigured = !!(_sqPlanEnabled && _sqPreCount); 18493 } catch (e) { } 18494 try { 18495 var _sqc = window._RestockRocketConfig; 18496 var _sqOn = !(_sqc.cachedSettings && _sqc.cachedSettings.block_accelerated_checkout === false); 18497 var _sqPre = (_sqc.cachedPreorderVariantIds && 18498 _sqc.cachedPreorderVariantIds.preorder_variant_ids) || []; 18499 var _sqArm = false;
18500 if (_sqOn && _sqc.preordersConfigured) { 18501 if (_sqc.pageType === 'product' && _sqc.product && _sqc.product.variants) { 18502 _sqArm = _sqc.product.variants.some(function (v) { return _sqPre.indexOf(Number(v.id)) !== -1; }); 18503 } else { 18504 _sqArm = (_sqc.integrations || []).some(function (i) { 18505 return i && i.type === 'featured_product' && i.enabled && 18506 Array.isArray(i.page_types) && i.page_types.indexOf(_sqc.pageType) !== -1; 18507 }); 18508 } 18509 } 18510 if (_sqArm && document.documentElement) { 18511 _sqc.acceleratedGateArmed = true; 18512 document.documentElement.classList.add('stoq-buy-now-pending'); 18513 setTimeout(function () { 18514 document.documentElement.classList.remove('stoq-buy-now-pending'); 18515 }, 6000); 18516 } 18517 } catch (e) { } 18518 18519 window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/01a11b87-29d7-70f4-9f88-0cbf7270f710/restockrocket-1-602/assets/restockrocket-product.js' 18520 window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/01a11b87-29d7-70f4-9f88-0cbf7270f710/restockrocket-1-602/assets/restockrocket-collection.js' 18521 window._RestockRocketConfig.scriptUrlProductBis = 'https://cdn.shopify.com/extensions/01a11b87-29d7-70f4-9f88-0cbf7270f710/restockrocket-1-602/assets/restockrocket-product-bis.js' 18522 window._RestockRocketConfig.scriptUrlCollectionBis = 'https://cdn.shopify.com/extensions/01a11b87-29d7-70f4-9f88-0cbf7270f710/restockrocket-1-602/assets/restockrocket-collection-bis.js' 18523 window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1) 18524 window._RestockRocketConfig.host = (window._RestockRocketConfig.cachedSettings && window._RestockRocketConfig.cachedSettings.api_host) || 'https://app.restockrocket.io' 18525 try { 18526 const _stoqVersionMatch = window._RestockRocketConfig.scriptHost.match(/(\d+)\/?(?:assets\/?)?$/); 18527 window._RestockRocketConfig.appVersion = (_stoqVersionMatch && _stoqVersionMatch[1]) || ''; 18528 } catch (e) { 18529 window._RestockRocketConfig.appVersion = ''; 18530 } 18531 const SETTINGS_CACHE_DURATION = 15 * 60 * 1000; 18532 const LIQUID_CACHE_MAX_AGE = 15 * 60; 18533 const liquidRenderedAt = window._RestockRocketConfig.liquidRenderedAt; 18534 if (!liquidRenderedAt || typeof liquidRenderedAt !== 'number' || isNaN(liquidRenderedAt)) { 18535 console.debug('STOQ - Invalid or missing liquidRenderedAt timestamp, assuming fresh'); 18536 window._RestockRocketConfig.isLiquidCacheFresh = true; 18537 window._RestockRocketConfig.liquidCacheAge = null; 18538 } else { 18539 const now = Math.floor(Date.now() / 1000); 18540 const liquidCacheAge = now - liquidRenderedAt; 18541 window._RestockRocketConfig.liquidCacheAge = Math.max(0, liquidCacheAge); 18542 if (liquidCacheAge < 0) { 18543 console.debug(`STOQ - Client clock appears ahead of server by ${Math.abs(Math.round(liquidCacheAge / 60))} minutes, assuming cache fresh`); 18544 window._RestockRocketConfig.isLiquidCacheFresh = true; 18545 } else if (liquidCacheAge <= LIQUID_CACHE_MAX_AGE) { 18546 console.debug(`STOQ - Liquid cache is fresh (${Math.round(liquidCacheAge / 60)} minutes old)`); 18547 window._RestockRocketConfig.isLiquidCacheFresh = true; 18548 } else { 18549 console.debug(`STOQ - Liquid cache is stale (${Math.round(liquidCacheAge / 60)} minutes old, max ${Math.round(LIQUID_CACHE_MAX_AGE / 60)} minutes)`); 18550 window._RestockRocketConfig.isLiquidCacheFresh = false; 18551 } 18552 } 18553 18554 function checkSettingsExpiry(settings) { 18555 try { 18556 if (!settings || !settings.updated_at) { 18557 console.debug('STOQ - Invalid settings data structure'); 18558 return null; 18559 } 18560 18561 if (!settings.cache) { 18562 console.debug('STOQ - settings caching disabled'); 18563 return null; 18564 } 18565 if (settings.multi_language_enabled) { 18566 if (!settings.translations) { 18567 console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh'); 18568 return null; 18569 } 18570 if (window._RestockRocketConfig.normalizedLocale && 18571 !Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) { 18572 console.debug('STOQ - locale not explicitly translated, will use default language from cache'); 18573 } 18574 } 18575 18576 const updatedAt = new Date(settings.updated_at); 18577 if (isNaN(updatedAt.getTime())) { 18578 console.debug('STOQ - Invalid updated_at date format in settings'); 18579 return null; 18580 } 18581 18582 const age = Date.now() - updatedAt.getTime(); 18583 if (age < SETTINGS_CACHE_DURATION) { 18584 console.debug('STOQ - settings changed recently, skipping cache'); 18585 return null; 18586 } 18587 18588 return settings; 18589 } catch (error) { 18590 console.debug('STOQ - Error checking settings cache:', error); 18591 return null; 18592 } 18593 } 18594 18595 function createRestockRocketContainer() { 18596 const restockRocketContainer = document.createElement('div'); 18597 restockRocketContainer.id = 'restock-rocket'; 18598 document.body.appendChild(restockRocketContainer); 18599 } 18600 18601 function createRestockRocketScript(scriptUrl) { 18602 const restockRocketScriptElement = document.createElement('script'); 18603 restockRocketScriptElement.setAttribute('defer', 'defer'); 18604 restockRocketScriptElement.src = scriptUrl; 18605 document.body.appendChild(restockRocketScriptElement); 18606 } 18607 18608 createRestockRocketContainer() 18609 18610 console.debug('STOQ - extension activated') 18611 try { 18612 const _stoqInitConfig = window._RestockRocketConfig; 18613 const _stoqDetectedVariantIds = (_stoqInitConfig.product && Array.isArray(_stoqInitConfig.product.variants)
18613) 18614 ? _stoqInitConfig.product.variants.map(function(v) { return v.id }) 18615 : []; 18616 const _stoqSelectedVariantId = _stoqInitConfig.selected_variant_id; 18617 var _stoqPageSeq = 0; 18618 try { 18619 _stoqPageSeq = (parseInt(window.sessionStorage.getItem('_stoq_pls') || '0', 10) || 0) + 1; 18620 window.sessionStorage.setItem('_stoq_pls', String(_stoqPageSeq)); 18621 } catch (e) { } 18622 Shopify?.analytics?.publish?.('stoq_initialized', { 18623 cart_token: _stoqInitConfig.cartToken || '', 18624 page_url: window.location.href, 18625 page_type: _stoqInitConfig.pageType || '', 18626 shop_domain: _stoqInitConfig.shop || '', 18627 market_id: _stoqInitConfig.marketId || '', 18628 country_code: _stoqInitConfig.countryIsoCode || '', 18629 detected_variant_ids: _stoqDetectedVariantIds, 18630 selected_variant_id: _stoqSelectedVariantId || '', 18631 page_load_seq: _stoqPageSeq, 18632 liquid_rendered_at: _stoqInitConfig.liquidRenderedAt || 0, 18633 app_version: _stoqInitConfig.appVersion || '', 18634 liquid_cache_age: _stoqInitConfig.liquidCacheAge, 18635 inventory_policy: (_stoqInitConfig.variantsInventoryPolicy || {})[_stoqSelectedVariantId] || '', 18636 inventory_quantity: (_stoqInitConfig.variantsInventoryQuantity || {})[_stoqSelectedVariantId], 18637 }); 18638 } catch (e) { 18639 console.debug('STOQ - stoq_initialized publish failed:', e); 18640 } 18641 try { 18642 var _sqTrack = window._RestockRocketConfig; 18643 if (_sqTrack.preordersConfigured) { 18644 document.addEventListener('click', function (e) { 18645 try { 18646 var t = e.target; 18647 if (!t || !t.closest) return; 18648 var host = t.closest('.shopify-payment-button, shopify-payment-terms'); 18649 if (!host) return; 18650 var channel = host.matches && host.matches('shopify-payment-terms') 18651 ? 'shop_pay_installments' : 'buy_now'; 18652 var form = host.closest('form'); 18653 var vidEl = form && form.querySelector('[name="id"]'); 18654 var variantId = (vidEl && vidEl.value) || _sqTrack.selected_variant_id || ''; 18655 var _sqVidNum = Number(variantId); 18656 var _sqPlan = null; 18657 var _sqPlans = Array.isArray(_sqTrack.sellingPlans) ? _sqTrack.sellingPlans : []; 18658 var _sqMktId = Number(_sqTrack.marketId); 18659 var _sqForVariant = function (pl) { 18660 return pl && pl.enabled && Array.isArray(pl.variant_ids) && 18661 pl.variant_ids.indexOf(_sqVidNum) !== -1; 18662 }; 18663 _sqPlans.forEach(function (pl) { 18664 if (!_sqPlan && _sqForVariant(pl) && pl.markets_enabled && 18665 Array.isArray(pl.shopify_market_ids) && 18666 pl.shopify_market_ids.indexOf(_sqMktId) !== -1) { _sqPlan = pl; } 18667 }); 18668 if (!_sqPlan) { 18669 _sqPlans.forEach(function (pl) { 18670 if (!_sqPlan && _sqForVariant(pl) && !pl.markets_enabled) { _sqPlan = pl; } 18671 }); 18672 } 18673 Shopify?.analytics?.publish?.('stoq_accelerated_checkout_clicked', { 18674 variant_id: variantId, 18675 product_id: (_sqTrack.product && _sqTrack.product.id) || '', 18676 channel: channel, 18677 market_id: _sqTrack.marketId || '', 18678 country_code: _sqTrack.countryIsoCode || '', 18679 page_type: _sqTrack.pageType || '', 18680 cart_token: _sqTrack.cartToken || '', 18681 page_url: (window.location && window.location.href) || '', 18682 properties: { 18683 is_preorder_variant: (function () { 18684 var vid = Number(variantId); 18685 var has = function (a) { return Array.isArray(a) && a.indexOf(vid) !== -1; }; 18686 return has(_sqTrack.preorderVariantIds) || 18687 has(_sqTrack.cachedPreorderVariantIds && 18688 _sqTrack.cachedPreorderVariantIds.preorder_variant_ids); 18689 })(), 18690 in_enabled_plan: !!_sqPlan, 18691 is_instock_variant: (function () { 18692 var has = function (a) { return Array.isArray(a) && a.indexOf(_sqVidNum) !== -1; }; 18693 return has(_sqTrack.inStockVariantIds) || 18694 has(_sqTrack.cachedInStockVariantIds && 18695 _sqTrack.cachedInStockVariantIds.in_stock_variant_ids); 18696 })(), 18697 enrolled_plan_id: (_sqPlan && (_sqPlan.shopify_selling_plan_id || _sqPlan.shopify_selling_plan_group_id)) || '', 18698 enrolled_plan_provider: (_sqPlan && _sqPlan.inventory_provider) || '', 18699 block_enabled: !(_sqTrack.cachedSettings && _sqTrack.cachedSettings.block_accelerated_checkout === false), 18700 gate_armed: !!_sqTrack.acceleratedGateArmed, 18701 gate_active_at_click: !!(document.documentElement && 18702 document.documentElement.classList.contains('stoq-buy-now-pending')), 18703 blocked: (function () { 18704 try { 18705 var rr = window._RestockRocket; 18706 return !!(rr && typeof rr.willBlockAcceleratedCl
18706ick === 'function' && 18707 rr.willBlockAcceleratedClick(e)); 18708 } catch (err) { return false; } 18709 })(), 18710 }, 18711 }); 18712 } catch (err) { } 18713 }, true); 18714 } 18715 } catch (e) { } 18716 function applyTranslations(settings) { 18717 try { 18718 if (!settings || !settings.multi_language_enabled) { 18719 return settings; 18720 } 18721 18722 if (!settings.translations) { 18723 console.debug('STOQ - No translations found, skipping translation'); 18724 return settings; 18725 } 18726 18727 const normalizedLocale = window._RestockRocketConfig.normalizedLocale; 18728 const translations = settings.translations; 18729 18730 if (!normalizedLocale) { 18731 console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {})); 18732 delete settings.translations; 18733 return settings; 18734 } 18735 18736 console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`); 18737 18738 const translatedFields = translations[normalizedLocale]; 18739 if (translatedFields && typeof translatedFields === 'object') { 18740 Object.keys(translatedFields).forEach(function(key) { 18741 const value = translatedFields[key]; 18742 if (value !== null && value !== undefined && value !== '') { 18743 settings[key] = value; 18744 } 18745 }); 18746 } else { 18747 console.debug('STOQ - No translated fields found for locale:', normalizedLocale); 18748 } 18749 18750 delete settings.translations; 18751 return settings; 18752 } catch (e) { 18753 console.debug('STOQ - error applying translations:', e); 18754 return settings; 18755 } 18756 } 18757 function setupCartSellingPlanUpdater(settings) { 18758 window.addEventListener('stoq:inventory-data-loaded', function(event) { 18759 console.debug('STOQ - Inventory data loaded, updating cart selling plans'); 18760 if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) { 18761 window._RestockRocket.updateCartSellingPlans() 18762 .then(hasUpdates => { 18763 if (hasUpdates) { 18764 console.debug('STOQ - cart selling plans updated successfully'); 18765 } else { 18766 console.debug('STOQ - no cart selling plan updates needed'); 18767 } 18768 }) 18769 .catch(error => { 18770 console.error('STOQ - error updating cart selling plans:', error); 18771 }); 18772 } 18773 }); 18774 } 18775 function storefrontGraphql(query, variables) { 18776 const cfg = window._RestockRocketConfig; 18777 if (!cfg.storefrontAccessToken || cfg.disableStorefrontApi === true) { 18778 return Promise.reject(new Error('Storefront API unavailable')); 18779 } 18780 return fetch( 18781 `https://${cfg.shop}/api/${cfg.storefrontApiVersion}/graphql.json`, 18782 { 18783 method: 'POST', 18784 headers: { 18785 'Content-Type': 'application/json', 18786 'X-Shopify-Storefront-Access-Token': cfg.storefrontAccessToken, 18787 }, 18788 body: JSON.stringify({ query: query, variables: variables }), 18789 } 18790 ) 18791 .then(function(response) { 18792 if (!response.ok) { throw new Error('Storefront API HTTP ' + response.status); } 18793 return response.json(); 18794 }) 18795 .then(function(body) { 18796 if (body && body.errors && body.errors.length) { 18797 throw new Error('Storefront API errors: ' + body.errors.map(function(e) { return e && e.message; }).join(', ')); 18798 } 18799 return body && body.data; 18800 }); 18801 } 18802 function fetchStorefrontShopMetafield(key) { 18803 const cfg = window._RestockRocketConfig; 18804 const query = 'query StoqShopMetafield($namespace: String!, $key: String!) { shop { metafield(namespace: $namespace, key: $key) { value } } }'; 18805 return storefrontGraphql(query, { namespace: cfg.metafieldNamespace, key: key }) 18806 .then(function(data) { 18807 const value = data && data.shop && data.shop.metafield && data.shop.metafield.value; 18808 if (!value) { throw new Error('Storefront API returned no ' + key + ' metafield value'); } 18809 return JSON.parse(value); 18810 }); 18811 } 18812 (function loadStorefrontSettings() { 18813 const cfg = window._RestockRocketConfig; 18814 if (!cfg.storefrontAccessToken || cfg.disableStorefrontApi === true) return; 18815 function run() { 18816 // The live-settings read is one more shop-level metafield fetch, so it 18817 // shares fetchStorefrontShopMetafield with the integrations/selling_plans 18818 // reads rather than re-issuing the same query + parse. 18819 fetchStorefrontShopMetafield('settings') 18820 .then(function(settings) { 18821 cfg.storefrontSettings = settings; 18822 console.debug('STOQ - stored live settings from Storefront API on config.storefrontSettings'); 18823 }) 18824 .catch(function(e) { 18825 console.debug('STOQ - Storefront settings fetch failed (non-fatal):', e && e.message); 18826 }); 18827 } 18828 18829 if (typeof window.requestIdleCallback === 'function') { 18830 window.requestIdleCallback(run, { timeout: 5000 }); 18831 } else { 18832 setTimeout(run, 0); 18833 } 18834 })(); 18835 const cachedSettings = window._RestockRocketConfig.cachedSettings; 18836 const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null; 18837 18838 if (validCachedSettings) { 18839 console.debug('STOQ - using cached settings'); 18840 initializeScripts(validCachedSettings); 18841 } else { 18842 console.debug('STOQ - fetching fresh settings'); 18843 const headers = { 18844 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 18845 'ngrok-skip-browser-warning': 'skip' 18846 }; 18847 18848 if (window.Shopify?.theme?.role === 'main') { 18849 headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name; 18850 headers['X-Shopify-Theme-Schema-Version'] = window.Shopify.theme.schema_version; 18851 headers['X-Shopify-Theme-Store-Id'] = window.Shopify.theme.theme_store_id; 18852 } 18853 18854 fetch( 18855 `${window._RestockRocketConfig.host}/api/v1/setting.json?translation_locale=${window._RestockRocketConfig.normalizedLocale}`, 18856 { headers } 18857 ) 18858 .then(function(response) { 18859 if (!response.ok) { 18860 throw new Error('Network response was not ok'); 18861 } 18862 return response.json(); 18863 }) 18864 .then(function(settings) { 18865 initializeScripts(settings); 18866 }) 18867 .catch(function(error) { 18868 if (cachedSettings) { 18869 console.debug('STOQ - using expired cached settings as fallback'); 18870 initializeScripts(cachedSettings); 18871 } else { 18872 console.error('STOQ - failed to load settings:', error); 18873 } 18874 }) 18875 .catch(function(e) { 18876 console.error(e) 18877 }) 18878 } 18879 18880 function fetchEmbedConfig(endpoint, apply) { 18881 return fetch( 18882 `${window._RestockRocketConfig.host}/api/v1/embed/${endpoint}.json`, 18883 { 18884 headers: { 18885 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 18886 'ngrok-skip-browser-warning': 'skip' 18887 } 18888 } 18889 ) 18890 .then(function(response) { 18891 if (!response.ok) throw new Error(`Failed to fetch ${endpoint}`); 18892 return response.json(); 18893 }) 18894 .then(function(data) {
18895 try { 18896 apply(data); 18897 } catch (applyError) { 18898 console.error('STOQ - apply failed for ' + endpoint + ':', applyError); 18899 throw applyError; 18900 } 18901 }) 18902 .catch(function(error) { 18903 console.debug(`STOQ - using cached ${endpoint}:`, error.message); 18904 }); 18905 } 18906 function refreshShopConfig(source) { 18907 const cfg = window._RestockRocketConfig; 18908 const viaEmbed = function() { return fetchEmbedConfig(source.endpoint, source.apply); }; 18909 const flagOn = !!cfg.readFlags && cfg.readFlags[source.flag] === true; 18910 if (!flagOn || source.embedOnly === true) { return viaEmbed(); } 18911 18912 return fetchStorefrontShopMetafield(source.metafieldKey) 18913 .then(function(value) { 18914 if (!source.isValid(value)) { throw new Error(source.metafieldKey + ' metafield is not a valid ' + source.endpoint + ' payload'); } 18915 source.apply(value); 18916 console.debug('STOQ - refreshed ' + source.endpoint + ' from the Storefront API'); 18917 }) 18918 .catch(function(error) { 18919 console.debug('STOQ - Storefront ' + source.endpoint + ' read failed, using embed:', error.message); 18920 return viaEmbed(); 18921 }); 18922 } 18923 function refreshIntegrations() { 18924 const cfg = window._RestockRocketConfig; 18925 return refreshShopConfig({ 18926 endpoint: 'integrations', 18927 metafieldKey: 'integrations', 18928 flag: 'enable_storefront_integrations_read', 18929 isValid: function(value) { return Array.isArray(value); }, 18930 apply: function(data) { 18931 cfg.integrations = data; 18932 } 18933 }); 18934 } 18935 function refreshSellingPlans(embedOnly) { 18936 const cfg = window._RestockRocketConfig; 18937 return refreshShopConfig({ 18938 embedOnly: embedOnly === true, 18939 endpoint: 'selling_plans', 18940 metafieldKey: 'cachedSellingPlans', 18941 flag: 'enable_storefront_selling_plans_read', 18942 isValid: function(value) { return !!value && Array.isArray(value.plans); }, 18943 apply: function(data) { 18944 cfg.sellingPlans = data.plans; 18945 cfg.disabledSellingPlanIds = data.disabled_plan_ids || []; 18946 if (data && data.read_flags && typeof data.read_flags === 'object' && !Array.isArray(data.read_flags)) { 18947 cfg.readFlags = data.read_flags; 18948 } 18949 } 18950 }); 18951 } 18952 18953 function initializeScripts(settings) { 18954 settings = applyTranslations(settings); 18955 window._RestockRocketConfig.settings = settings; 18956 console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`); 18957 const forceEmbedSellingPlans = settings.force_embed_selling_plans === true; 18958 const staleRefresh = !window._RestockRocketConfig.isLiquidCacheFresh && !settings.disable_refresh_on_stale_liquid; 18959 if (forceEmbedSellingPlans || staleRefresh) { 18960 console.debug('STOQ - refreshing selling_plans' + (staleRefresh ? ' + integrations (Liquid cache stale)' : ' (force_embed_selling_plans)')); 18961 const refreshes = [refreshSellingPlans(forceEmbedSellingPlans)]; 18962 if (staleRefresh) { refreshes.push(refreshIntegrations()); } 18963 Promise.race([ 18964 Promise.all(refreshes), 18965 new Promise(function(resolve) { setTimeout(resolve, 1000); }) 18966 ]).then(function() { loadScripts(settings); }); 18967 return; 18968 } 18969 18970 loadScripts(settings); 18971 } 18972 18973 function loadScripts(settings) { 18974 setupCartSellingPlanUpdater(settings); 18975 18976 if(settings.enable_app) { 18977 const hijackIntegration = window._RestockRocketConfig.integrations.find(function(integration) { 18978 return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType); 18979 }) 18980 const hasEnabledOffer = Array.isArray(window._RestockRocketConfig.sellingPlans) 18981 && window._RestockRocketConfig.sellingPlans.some(function(plan) { return plan && plan.enabled; }); 18982 const hasDisabledPlanIds = Array.isArray(window._RestockRocketConfig.disabledSellingPlanIds) 18983 && window._RestockRocketConfig.disabledSellingPlanIds.length > 0; 18984 const usePreorderBuild = settings.preorder_enabled || hasEnabledOffer || hasDisabledPlanIds; 18985 18986 const collectionScriptUrl = usePreorderBuild 18987 ? window._RestockRocketConfig.scriptUrlCollection 18988 : window._RestockRocketConfig.scriptUrlCollectionBis; 18989 const productScriptUrl = usePreorderBuild 18990 ? window._RestockRocketConfig.scriptUrlProduct 18991 : window._RestockRocketConfig.scriptUrlProductBis; 18992 18993 const pageType = window._RestockRocketConfig.pageType; 18994 const collectionPageTypes = ['collection', 'index', 'search', 'page']; 18995
18996 if(collectionPageTypes.indexOf(pageType) !== -1 && (settings[`show_button_on_${pageType}`] || settings[`preorder_${pageType}_enabled`])) { 18997 createRestockRocketScript(collectionScriptUrl); 18998 } else if(pageType === 'product') { 18999 createRestockRocketScript(productScriptUrl); 19000 } else if(hijackIntegration) { 19001 createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); 19002 } else if(usePreorderBuild) { 19003 createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); 19004 } else { 19005 console.debug(`STOQ - no scripts enabled for ${pageType}`); 19006 } 19007 const appLoadedEvent = new CustomEvent('stoq:loaded', { 19008 detail: { 19009 pageType: window._RestockRocketConfig.pageType, 19010 enabled: settings.enable_app, 19011 settings: settings, 19012 preorderEnabled: settings.preorder_enabled 19013 } 19014 }); 19015 console.debug('STOQ - dispatching app loaded event'); 19016 window.dispatchEvent(appLoadedEvent); 19017 } 19018 } 19019</script>
19019<style id="RestockRocketStyle">html.stoq-buy-now-pending .shopify-payment-button{pointer-events:none!important}</style> 19020 19021 19022</div><div id="shopify-block-AOVh0R2hLSmdaU1I1b__8232719769135528861" class="shopify-block shopify-app-block">
19022<script id="volume-config"> 19023 // place the app at the bottom of body 19024 const volNewApp = document.createElement('div'); 19025 19026 volNewApp.setAttribute('id', 'qikify-volume'); 19027 19028 // App identifier marker so AI/crawlers can recognize this app on the storefront 19029 const marker = document.createComment(' Qikify Volume Discounts Bundle by Qikify - https://apps.shopify.com/qikify-bundles-quantity-break '); 19030 19031 // place it at the bottom 19032 document.body.appendChild(marker); 19033 document.body.appendChild(volNewApp); 19034 19035 19036 19037 _VL = { 19038 offers: [{"extension_type":"volume","offer_title":"Buy more, save more","discount_method":"auto","trigger_type":"products","enable_trigger_data_collection_excludes":false,"tier_settings":[{"badge":null,"discount_type":"percentage","discount_value_fixed":0,"discount_value_percentage":0,"enable_show_gift_price":false,"enable_show_quantity_counter":false,"gift_title":null,"gifts":[],"is_default_selected":true,"label_text":null,"label_type":"classic","quantity":1,"subtitle":null,"title":"1 Nail File"},{"badge":null,"discount_type":"percentage","discount_value_fixed":0,"discount_value_percentage":10,"enable_show_gift_price":false,"enable_show_quantity_counter":false,"gift_title":null,"gifts":[],"is_default_selected":false,"label_text":"Most Popular","label_type":"classic","quantity":"10","subtitle":"Save 10%","title":"10 Nail Files"},{"badge":null,"discount_type":"percentage","discount_value_fixed":0,"discount_value_percentage":"50","enable_show_gift_price":false,"enable_show_quantity_counter":false,"gift_title":null,"gifts":[],"is_default_selected":false,"label_text":"Bulk Savings","label_type":"classic","quantity":"50","subtitle":"Save 45%","title":"50 Nail files"}],"purchase_subscription_title":"Purchase options","subscription_position":"above","subscription_title":"Subscribe & save","subscription_subtitle":null,"subscription_onetime_purchase_title":"One time purchase","subscription_onetime_purchase_subtitle":null,"subscription_by_default":true,"allow_changing_tier_item_variant":false,"hide_theme_variant_picker":false,"show_price_per_unit":false,"show_both_prices":false,"use_compare_at_price":false,"combination_product_discount":true,"combination_order_discount":true,"combination_shipping_discount":true,"countdown_heading_content":"HURRY UP!","countdown_subheading_content":"Sale end in","layout":"vertical","border_radius":10,"primary_color":"#000000","secondary_color":"#262626","label_background_color":"#FFEDF7","label_text_color":"#000000","heading_font_weight":"bold","heading_font_size":18,"body_font_weight":"regular","body_font_size":14,"badge_font_weight":"regular","badge_font_size":12,"highlight_font_weight":"bold","highlight_font_size":12,"discount_title":"PROFESSIONAL NAIL FILE ZEBRA HALF MOON AND SQUARE","trigger_data_products":[{"id":"10666633298266","title":"TNBL Nail File Professional - Half Moon Zebra","image":{"url":"https://cdn.shopify.com/s/files/1/0986/3371/1962/files/1725620448-52066500_a6db78e4-7c76-4eb0-951c-7e9aee5309df.jpg?v=1768912030"},"totalVariants":3,"variants":"ALL","handle":"tnbl-nail-file-professional-half-moon-zebra"},{"id":"10666633232730","title":"TNBL Nail File Professional - Square Zebra","image":{"url":"https://cdn.shopify.com/s/files/1/0986/3371/1962/files/1725619330-69778000_b21fa3d2-8ed0-431c-8b96-87bdd9eab310.jpg?v=1768912024"},"totalVariants":2,"variants":"ALL","handle":"tnbl-nail-file-professional-square-zebra"}],"trigger_data_collections":[],"trigger_data_tags":[],"trigger_customer_tags":[],"discount_code":null,"id":5106,"name":"PROFESSIONAL NAIL FILE ZEBRA HALF MOON AND SQUARE","type":"auto","created_at":"2026-04-27 15:59:25","updated_at":"2026-04-27 15:59:25","discount_id":1827413164378,"starts_at":"2026-03-11T15:00:18Z","ends_at":null},{"extension_type":"volume","offer_title":"Buy more, save more","discount_method":"auto","trigger_type":"products","enable_trigger_data_collection_excludes":false,"tier_settings":[{"badge":null,"discount_type":"percentage","discount_value_fixed":0,"discount_value_percentage":0,"enable_show_gift_price":false,"enable_show_quantity_counter":false,"gift_title":null,"gifts":[],"is_default_selected":true,"label_text":null,"label_type":"classic","quantity":1,"subtitle":null,"title":"1 Nail File"},{"badge":null,"discount_type":"percentage","discount_value_fixed":0,"discount_value_percentage":10,"enable_show_gift_price":false,"enable_show_quantity_counter":false,"gift_title":null,"gifts":[],"is_default_selected":false,"label_text":"Most Popular","label_type":"classic","quantity":"10","subtitle":"Save 10%","title":"10 Nail Files"},{"badge":null,"discount_type":"percentage","discount_value_fixed":0,"discount_value_percentage":"57","enable_show_gift_price":false,"enable_show_quantity_counter":false,"gift_title":null,"gifts":[],"is_default_selected":false,"label_text":"Bulk Savings","label_type":"classic","quantity":"50","subtitle":"Save 56%","title":"50 Nail files"}],"purchase_subscription_title":"Purchase options","subscription_position":"above","subscription_title":"Subscribe & save","subscription_subtitle":null,"subscription_onetime_purchase_title":"One time purchase","subscription_onetime_purchase_subtitle":null,"subscription_by_default":true,"allow_changing_tier_item_variant":false,"hide_theme_variant_picker":false,"show_price_per_unit":false,"show_both_prices":false,"use_compare_at_price":false,"combination_product_discount":true,"combination_order_discount":true,"combination_shipping_discount":true,"countdown_heading_content":"HURRY UP
19038!","countdown_subheading_content":"Sale end in","layout":"vertical","border_radius":10,"primary_color":"#000000","secondary_color":"#262626","label_background_color":"#FFEDF7","label_text_color":"#000000","heading_font_weight":"bold","heading_font_size":18,"body_font_weight":"regular","body_font_size":14,"badge_font_weight":"regular","badge_font_size":12,"highlight_font_weight":"bold","highlight_font_size":12,"discount_title":"STRAIGHT ZEBRA PRO NAIL FILE","trigger_data_products":[{"id":"10666633494874","title":"TNBL Nail File Professional - 80/80 Round Zebra","image":{"url":"https://cdn.shopify.com/s/files/1/0986/3371/1962/files/1725621672-93759200_5f6c5554-7319-4efa-9eea-431ac20f13c5.jpg?v=1768912031"},"totalVariants":1,"variants":"ALL","handle":"tnbl-nail-file-professional-80-80-round-zebra"}],"trigger_data_collections":[],"trigger_data_tags":[],"trigger_customer_tags":[],"discount_code":null,"id":5103,"name":"STRAIGHT ZEBRA PRO NAIL FILE","type":"auto","created_at":"2026-04-27 15:57:00","updated_at":"2026-04-27 15:57:24","discount_id":1827412935002,"starts_at":"2026-03-11T15:00:18Z","ends_at":null},{"extension_type":"volume","offer_title":"Buy more, save more","discount_method":"auto","trigger_type":"products","enable_trigger_data_collection_excludes":false,"tier_settings":[{"badge":null,"discount_type":"percentage","discount_value_fixed":0,"discount_value_percentage":0,"enable_show_gift_price":false,"enable_show_quantity_counter":false,"gift_title":null,"gifts":[],"is_default_selected":true,"label_text":null,"label_type":"classic","quantity":1,"subtitle":null,"title":"1 Nail File"},{"badge":null,"discount_type":"percentage","discount_value_fixed":0,"discount_value_percentage":10,"enable_show_gift_price":false,"enable_show_quantity_counter":false,"gift_title":null,"gifts":[],"is_default_selected":false,"label_text":"Most Popular","label_type":"classic","quantity":"10","subtitle":"Save 10%","title":"10 Nail Files"},{"badge":null,"discount_type":"percentage","discount_value_fixed":0,"discount_value_percentage":"42","enable_show_gift_price":false,"enable_show_quantity_counter":false,"gift_title":null,"gifts":[],"is_default_selected":false,"label_text":"Bulk Savings","label_type":"classic","quantity":"50","subtitle":"Save 42%","title":"50 Nail files"}],"purchase_subscription_title":"Purchase options","subscription_position":"above","subscription_title":"Subscribe & save","subscription_subtitle":null,"subscription_onetime_purchase_title":"One time purchase","subscription_onetime_purchase_subtitle":null,"subscription_by_default":true,"allow_changing_tier_item_variant":false,"hide_theme_variant_picker":false,"show_price_per_unit":false,"show_both_prices":false,"use_compare_at_price":false,"combination_product_discount":true,"combination_order_discount":true,"combination_shipping_discount":true,"countdown_heading_content":"HURRY UP!","countdown_subheading_content":"Sale end in","layout":"vertical","border_radius":10,"primary_color":"#000000","secondary_color":"#262626","label_background_color":"#FFEDF7","label_text_color":"#000000","heading_font_weight":"bold","heading_font_size":18,"body_font_weight":"regular","body_font_size":14,"badge_font_weight":"regular","badge_font_size":12,"highlight_font_weight":"bold","highlight_font_size":12,"discount_title":"NAIL FILE PREMIUM","trigger_data_products":[{"id":"10666633331034","title":"TNBL Nail File Premium - Square Zebra","image":{"url":"https://cdn.shopify.com/s/files/1/0986/3371/1962/files/1725620891-77007100_895d5bf2-7c62-4abe-b5ee-b00708582710.jpg?v=1768912033"},"totalVariants":3,"variants":"ALL","handle":"tnbl-nail-file-premium-square-zebra"},{"id":"10666633429338","title":"TNBL Nail File Premium - Half Moon Zebra","image":{"url":"https://cdn.shopify.com/s/files/1/0986/3371/1962/files/1725621380-31366000_699538d0-c356-4c77-a20a-6f86191b5b56.jpg?v=1768912036"},"totalVariants":5,"variants":"ALL","handle":"tnbl-nail-file-premium-half-moon-zebra"}],"trigger_data_collections":[],"trigger_data_tags":[],"trigger_customer_tags":[],"discount_code":null,"id":5100,"name":"NAIL FILE PREMIUM","type":"auto","created_at":"2026-04-27 15:48:52","updated_at":"2026-04-27 15:50:34","discount_id":1827411263834,"starts_at":"2026-03-11T15:00:18Z","ends_at":null},{"extension_type":"volume","offer_title":"Buy more, save more","discount_method":"auto","trigger_type":"products","enable_trigger_data_collection_excludes":false,"tier_settings":[{"badge":null,"discount_type":"percentage","discount_value_fixed":0,"discount_value_percentage":0,"enable_show_gift_price":false,"enable_show_quantity_counter":false,"gift_title":null,"gifts":[],"is_default_selected":true,"label_text":null,"label_type":"classic","quantity":1,"subtitle":null,"title":"1 Nail File"},{"badge":null,"discount_type":"percentage","discount_value_fixed":0,"discount_value_percentage":10,"enable_show_gift_price":false,"enable_show_quantity_counter":false,"gift_title":null,"gifts":[],"is_default_selected":false,"label_text":"Most Popular","label_type":"classic","quantity":"10","subtitle":"Save 10%","title":"10 Nail Files"},{"badge":null,"discount_type":"percentage","discount_value_fixed":0,"discount_value_percentage":"64","enable_show_gift_price":false,"enable_show_quantity_counter":false,"gift_title":null,"gifts":[],"is_default_selected":false,"label_text":"Bulk Savings","label_type":"classic","quantity":"50","subtitle":"Save 45%","title":"50 Nail files"}],"purchase_subscription_title":"Purchase options","subscription_position":"above","subscription_title":"Subscribe & save","subscription_subtitle":null,"subscription_onetime_purchase_title":"One time purchase","subscription_onetime_purchase_subtitle":null,"subscription_by_default":true,"allow_changing_tier_item_variant":false,"hide_theme_variant_picker":false,"show_price_per_unit":false,"show_both_prices":false,"use_compare_at_price":false,"combination_product_discount":true,"combination_order_discount":true,"combination_shipping_discount":true,"countdown_heading_content":"HURRY UP
19038!","countdown_subheading_content":"Sale end in","layout":"vertical","border_radius":10,"primary_color":"#000000","secondary_color":"#262626","label_background_color":"#FFEDF7","label_text_color":"#000000","heading_font_weight":"bold","heading_font_size":18,"body_font_weight":"regular","body_font_size":14,"badge_font_weight":"regular","badge_font_size":12,"highlight_font_weight":"bold","highlight_font_size":12,"discount_title":"Nail Files (Black & White)","trigger_data_products":[{"id":"10666633724250","title":"TNBL Nail File Professional - Round White","image":{"url":"https://cdn.shopify.com/s/files/1/0986/3371/1962/files/1725622048-77994700_2f6a7777-6e4f-4849-a439-ff1d8f6580cc.jpg?v=1768912039"},"totalVariants":2,"variants":"ALL","handle":"tnbl-nail-file-professional-round-white"},{"id":"10666633855322","title":"TNBL Nail File Professional - Round Black","image":{"url":"https://cdn.shopify.com/s/files/1/0986/3371/1962/files/1728048535-74983700_a9f7ac1b-7f9a-4139-bd36-de59ae1b05a6.png?v=1768912044"},"totalVariants":2,"variants":"ALL","handle":"tnbl-nail-file-professional-round-black"}],"trigger_data_collections":[],"trigger_data_tags":[],"trigger_customer_tags":[],"discount_code":null,"id":5098,"name":"Straight Black & White Nail Files","type":"auto","created_at":"2026-04-27 15:38:49","updated_at":"2026-04-27 15:40:55","discount_id":1827409887578,"starts_at":"2026-03-11T15:00:18Z","ends_at":null},{"extension_type":"volume","offer_title":"BUY 1 REFILL GET 3 12ML FREE","discount_method":"auto","trigger_type":"products","enable_trigger_data_collection_excludes":false,"tier_settings":[{"badge":null,"discount_type":"percentage","discount_value_fixed":0,"discount_value_percentage":0,"enable_show_gift_price":true,"enable_show_quantity_counter":false,"gift_title":"+ {gift_qty} FREE GIFT","gifts":[{"id":"10666583884122","handle":"vina-gel-polish-essentials-12ml-diamond-no-wipe-top-coat","quantity":"3","status":"ACTIVE","title":"VINA Gel Polish Essentials 12ml - Diamond No Wipe Top Coat","totalVariants":1,"image":{"url":"https://cdn.shopify.com/s/files/1/0986/3371/1962/files/1720710737-07447500_55dadf51-4987-4cb7-b672-4fea3089d533.jpg?v=1768910297"},"variants":"ALL","variantData":[{"id":"53270728409434","available":true,"price":"6.95","title":"Default Title"}]}],"is_default_selected":true,"label_text":null,"label_type":"classic","quantity":1,"subtitle":null,"title":"1X DIAMOND NO WIPE 250ML"}],"purchase_subscription_title":"Purchase options","subscription_position":"above","subscription_title":"Subscribe & save","subscription_subtitle":null,"subscription_onetime_purchase_title":"One time purchase","subscription_onetime_purchase_subtitle":null,"subscription_by_default":true,"allow_changing_tier_item_variant":false,"hide_theme_variant_picker":false,"show_price_per_unit":false,"show_both_prices":false,"use_compare_at_price":false,"combination_product_discount":true,"combination_order_discount":true,"combination_shipping_discount":true,"layout":"vertical","border_radius":8,"primary_color":"#000000","secondary_color":"#262626","label_background_color":"#FC81C7","label_text_color":"#FFFFFF","heading_font_weight":"bold","heading_font_size":18,"body_font_weight":"regular","body_font_size":14,"badge_font_weight":"regular","badge_font_size":12,"highlight_font_weight":"bold","highlight_font_size":12,"discount_title":"VINADNWTOP","trigger_data_products":[{"id":"10666588143962","title":"VINA Gel Polish Refill 250ml - Diamond No Wipe Top Coat","image":{"url":"https://cdn.shopify.com/s/files/1/0986/3371/1962/files/1696427765-16983200_f91bd619-59ad-48fc-93ce-2f838284f6ca.jpg?v=1768910492"},"totalVariants":1,"variants":"ALL","handle":"vina-gel-polish-refill-250ml-diamond-no-wipe-top-coat"}],"trigger_data_collections":[],"trigger_data_tags":[],"trigger_customer_tags":[],"id":4151,"name":"VINA DIAMOND NO WIPE","type":"auto","created_at":"2026-03-31 22:55:36","updated_at":"2026-04-01 07:57:55","discount_id":1820267479386,"starts_at":"2026-03-31T22:53:59Z","ends_at":null},{"extension_type":"volume","offer_title":"BUY 10 GET 1 FREE","discount_method":"auto","trigger_type":"products","enable_trigger_data_collection_excludes":false,"tier_settings":[{"badge":null,"discount_type":"percentage","discount_value_fixed":0,"discount_value_percentage":0,"enable_show_gift_price":true,"enable_show_quantity_counter":false,"gift_title":"+ {gift_qty}
19038 FREE GIFT","gifts":[{"id":"10666590470490","handle":"vina-hand-body-lotion-mini-mix-72pcs-4-x-scents","quantity":1,"status":"ACTIVE","title":"VINA Hand & Body Lotion Mini Mix -72Pcs (4 x Scents)","totalVariants":1,"image":{"url":"https://cdn.shopify.com/s/files/1/0986/3371/1962/files/1730135762-90190800_9f4c183c-a2c5-4508-b509-7c87d1537001.png?v=1768910591"},"variants":"ALL","variantData":[{"id":"53270744826202","available":true,"price":"45.00","title":"Default Title"}]}],"is_default_selected":false,"label_text":null,"label_type":"classic","quantity":"10","subtitle":"click to add offer","title":"10X VINA MINI LOTION 15ML 72PCS"}],"purchase_subscription_title":"Purchase options","subscription_position":"above","subscription_title":"Subscribe & save","subscription_subtitle":null,"subscription_onetime_purchase_title":"One time purchase","subscription_onetime_purchase_subtitle":null,"subscription_by_default":true,"allow_changing_tier_item_variant":false,"hide_theme_variant_picker":false,"show_price_per_unit":false,"show_both_prices":false,"use_compare_at_price":false,"combination_product_discount":true,"combination_order_discount":true,"combination_shipping_discount":true,"layout":"vertical","border_radius":8,"primary_color":"#000000","secondary_color":"#262626","label_background_color":"#FC81C7","label_text_color":"#FFFFFF","heading_font_weight":"bold","heading_font_size":18,"body_font_weight":"regular","body_font_size":14,"badge_font_weight":"regular","badge_font_size":12,"highlight_font_weight":"bold","highlight_font_size":12,"discount_title":"VINAML72-B10G1F","trigger_data_products":[{"id":"10666356932954","title":"VINA Mini Nail & Cuticle Oil","image":{"url":"https://cdn.shopify.com/s/files/1/0986/3371/1962/files/1707928742-01614900_09774438-450d-4c95-ad7a-679fcbe289a5.png?v=1768902776"},"totalVariants":6,"variants":["53270263529818"],"handle":"vina-mini-nail-cuticle-oil"}],"trigger_data_collections":[],"trigger_data_tags":[],"trigger_customer_tags":[],"discount_code":null,"id":4150,"name":"VINA MINI LOTION B10G1F","type":"auto","created_at":"2026-03-31 22:49:16","updated_at":"2026-03-31 22:57:55","discount_id":1820267184474,"starts_at":"2026-03-31T22:31:45Z","ends_at":null},{"extension_type":"volume","offer_title":"BUY 5 GET 1 FREE","discount_method":"auto","trigger_type":"products","enable_trigger_data_collection_excludes":false,"tier_settings":[{"badge":null,"discount_type":"percentage","discount_value_fixed":0,"discount_value_percentage":0,"enable_show_gift_price":true,"enable_show_quantity_counter":false,"gift_title":"+ {gift_qty} FREE GIFT","gifts":[{"id":"10666356932954","handle":"vina-mini-nail-cuticle-oil","quantity":1,"status":"ACTIVE","title":"VINA Mini Nail & Cuticle Oil","totalVariants":6,"image":{"url":"https://cdn.shopify.com/s/files/1/0986/3371/1962/files/1707928742-01614900_09774438-450d-4c95-ad7a-679fcbe289a5.png?v=1768902776"},"variants":["53270263529818"],"variantData":[{"id":"53270263529818","available":true,"price":"55.00","title":"BOX OF 48PCS"}]}],"is_default_selected":false,"label_text":null,"label_type":"classic","quantity":"5","subtitle":"click to add offer","title":"5X VINA MINI CUTICLE OIL 48PCS"}],"purchase_subscription_title":"Purchase options","subscription_position":"above","subscription_title":"Subscribe & save","subscription_subtitle":null,"subscription_onetime_purchase_title":"One time purchase","subscription_onetime_purchase_subtitle":null,"subscription_by_default":true,"allow_changing_tier_item_variant":false,"hide_theme_variant_picker":false,"show_price_per_unit":false,"show_both_prices":false,"use_compare_at_price":false,"combination_product_discount":true,"combination_order_discount":true,"combination_shipping_discount":true,"layout":"vertical","border_radius":8,"primary_color":"#000000","secondary_color":"#262626","label_background_color":"#FC81C7","label_text_color":"#FFFFFF","heading_font_weight":"bold","heading_font_size":18,"body_font_weight":"regular","body_font_size":14,"badge_font_weight":"regular","badge_font_size":12,"highlight_font_weight":"bold","highlight_font_size":12,"discount_title":"VINACO48-B5G1F","trigger_data_products":[{"id":"
1903810666356932954","title":"VINA Mini Nail & Cuticle Oil","image":{"url":"https://cdn.shopify.com/s/files/1/0986/3371/1962/files/1707928742-01614900_09774438-450d-4c95-ad7a-679fcbe289a5.png?v=1768902776"},"totalVariants":6,"variants":["53270263529818"],"handle":"vina-mini-nail-cuticle-oil"}],"trigger_data_collections":[],"trigger_data_tags":[],"trigger_customer_tags":[],"discount_code":null,"id":4149,"name":"VINA CUTICLE OIL B5G1F","type":"auto","created_at":"2026-03-31 22:47:57","updated_at":"2026-03-31 22:47:57","discount_id":1820267118938,"starts_at":"2026-03-31T22:31:45Z","ends_at":null},{"extension_type":"volume","offer_title":"BUY 5 GET 1 FREE","discount_method":"auto","trigger_type":"products","enable_trigger_data_collection_excludes":false,"tier_settings":[{"badge":null,"discount_type":"percentage","discount_value_fixed":0,"discount_value_percentage":0,"enable_show_gift_price":true,"enable_show_quantity_counter":false,"gift_title":"+ {gift_qty} FREE GIFT","gifts":[{"id":"10666586636634","handle":"goat-milk-hand-mask-glove-5pcs-pack","quantity":1,"status":"ACTIVE","title":"Goat Milk Hand Mask Glove (5pcs) pack","totalVariants":1,"image":{"url":"https://cdn.shopify.com/s/files/1/0986/3371/1962/files/1686147495-48309200.jpg?v=1768910425"},"variants":"ALL","variantData":[{"id":"53270736568666","available":true,"price":"5.00","title":"Default Title"}]}],"is_default_selected":false,"label_text":null,"label_type":"classic","quantity":"5","subtitle":"click to add offer","title":"5X GOAT MILK HAND MASK"}],"purchase_subscription_title":"Purchase options","subscription_position":"above","subscription_title":"Subscribe & save","subscription_subtitle":null,"subscription_onetime_purchase_title":"One time purchase","subscription_onetime_purchase_subtitle":null,"subscription_by_default":true,"allow_changing_tier_item_variant":false,"hide_theme_variant_picker":false,"show_price_per_unit":false,"show_both_prices":false,"use_compare_at_price":false,"combination_product_discount":true,"combination_order_discount":true,"combination_shipping_discount":true,"layout":"vertical","border_radius":8,"primary_color":"#000000","secondary_color":"#262626","label_background_color":"#FC81C7","label_text_color":"#FFFFFF","heading_font_weight":"bold","heading_font_size":18,"body_font_weight":"regular","body_font_size":14,"badge_font_weight":"regular","badge_font_size":12,"highlight_font_weight":"bold","highlight_font_size":12,"discount_title":"GM-B5G1F","trigger_data_products":[{"id":"10666586636634","title":"Goat Milk Hand Mask Glove (5pcs) pack","image":{"url":"https://cdn.shopify.com/s/files/1/0986/3371/1962/files/1686147495-48309200.jpg?v=1768910425"},"totalVariants":1,"variants":"ALL","handle":"goat-milk-hand-mask-glove-5pcs-pack"}],"trigger_data_collections":[],"trigger_data_tags":[],"trigger_customer_tags":[],"id":4146,"name":"GOAT MASK B5G1F","type":"auto","created_at":"2026-03-31 22:34:08","updated_at":"2026-03-31 22:35:54","discount_id":1820266299738,"starts_at":"2026-03-31T22:31:45Z","ends_at":null},{"extension_type":"volume","offer_title":"Buy one, get one free!","discount_method":"auto","trigger_type":"products","enable_trigger_data_collection_excludes":false,"tier_settings":[{"badge":null,"discount_type":"percentage","discount_value_fixed":0,"discount_value_percentage":0,"enable_show_gift_price":false,"enable_show_quantity_counter":false,"gift_title":"+ {gift_qty} FREE GIFT","gifts":[{"id":"10666389930330","handle":"tnbl-cotton-pads-square-pk-of-100","quantity":1,"status":"ACTIVE","title":"Cotton Pads Square Pk of 100","totalVariants":1,"image":{"url":"https://cdn.shopify.com/s/files/1/0986/3371/1962/files/1657555634-37813000_e95896f9-2b10-4333-bafb-b6b24b63ff66.jpg?v=1768903614"},"variants":"ALL","variantData":[{"id":"53270310879578","available":true,"price":"1.20","title":"Default Title"}]}],"is_default_selected":true,"label_text":null,"label_type":"classic","quantity":1,"subtitle":null,"title":"1 Square Cotton Pads Pack of 100","product_image":null}],"purchase_subscription_title":"Purchase options","subscription_position":"above","subscription_title":"Subscribe & save","subscription_subtitle":null,"subscription_onetime_purchase_title":"One time purchase","subscription_onetime_purchase_subtitle":null,"subscription_by_default":true,"allow_changing_tier_item_variant":false,"hide_theme_variant_picker":false,"show_price_per_unit":false,"show_both_prices":false,"use_compare_at_price":false,"combination_product_discount":true,"combination_order_discount":true,"combination_shipping_discount":true,"layout":"vertical","border_radius":8,"primary_color":"#000000","secondary_color":"#262626","label_background_color":"#FFEDF7","label_text_color":"#FFFFFF","heading_font_weight":"bold","heading_font_size":18,"body_font_weight":"regular","body_font_size":14,"badge_font_weight":"regular","badge_font_size":12,"highlight_font_weight":"bold","highlight_font_size":12,"discount_title":"CP B1G1F","trigger_data_products":[{"id":"
1903810666389930330","title":"Cotton Pads Square Pk of 100","image":{"url":"https://cdn.shopify.com/s/files/1/0986/3371/1962/files/1657555634-37813000_e95896f9-2b10-4333-bafb-b6b24b63ff66.jpg?v=1768903614"},"totalVariants":1,"variants":"ALL","handle":"tnbl-cotton-pads-square-pk-of-100"}],"trigger_data_collections":[],"trigger_data_tags":[],"trigger_customer_tags":[],"discount_code":null,"id":4145,"name":"Cotton Pads Square Pack of 100","type":"auto","created_at":"2026-03-31 22:12:29","updated_at":"2026-03-31 22:29:38","discount_id":1820264661338,"starts_at":"2026-03-31T03:03:14Z","ends_at":null},{"extension_type":"volume","offer_title":"Buy one, get one free!","discount_method":"auto","trigger_type":"products","enable_trigger_data_collection_excludes":false,"tier_settings":[{"badge":null,"discount_type":"percentage","discount_value_fixed":0,"discount_value_percentage":0,"enable_show_gift_price":false,"enable_show_quantity_counter":false,"gift_title":"+ {gift_qty} FREE GIFT","gifts":[{"id":"10666395074906","handle":"tnbl-brush-on-nail-glue-8g","quantity":1,"status":"ACTIVE","title":"TNBL Brush on Nail Glue 8g","totalVariants":1,"image":{"url":"https://cdn.shopify.com/s/files/1/0986/3371/1962/files/1657617325-15155800_c3be8fc4-dcd9-41ae-9cd5-2c7288e24e50.jpg?v=1768903779"},"variants":"ALL","variantData":[{"id":"53270319104346","available":true,"price":"3.49","title":"Default Title"}]}],"is_default_selected":true,"label_text":null,"label_type":"classic","quantity":1,"subtitle":null,"title":"1 Brush on Nail Glue","product_image":null}],"purchase_subscription_title":"Purchase options","subscription_position":"above","subscription_title":"Subscribe & save","subscription_subtitle":null,"subscription_onetime_purchase_title":"One time purchase","subscription_onetime_purchase_subtitle":null,"subscription_by_default":true,"allow_changing_tier_item_variant":false,"hide_theme_variant_picker":false,"show_price_per_unit":false,"show_both_prices":false,"use_compare_at_price":false,"combination_product_discount":true,"combination_order_discount":true,"combination_shipping_discount":true,"layout":"vertical","border_radius":8,"primary_color":"#000000","secondary_color":"#262626","label_background_color":"#FFEDF7","label_text_color":"#FFFFFF","heading_font_weight":"bold","heading_font_size":18,"body_font_weight":"regular","body_font_size":14,"badge_font_weight":"regular","badge_font_size":12,"highlight_font_weight":"bold","highlight_font_size":12,"discount_title":"BONG","trigger_data_products":[{"id":"10666395074906","title":"TNBL Brush on Nail Glue 8g","image":{"url":"https://cdn.shopify.com/s/files/1/0986/3371/1962/files/1657617325-15155800_c3be8fc4-dcd9-41ae-9cd5-2c7288e24e50.jpg?v=1768903779"},"totalVariants":1,"variants":"ALL","handle":"tnbl-brush-on-nail-glue-8g"}],"trigger_data_collections":[],"trigger_data_tags":[],"trigger_customer_tags":[],"id":4118,"name":"Brush on Nail Glue","type":"auto","created_at":"2026-03-31 03:10:48","updated_at":"2026-03-31 22:29:52","discount_id":1820035219802,"starts_at":"2026-03-31T03:03:14Z","ends_at":null},{"extension_type":"volume","offer_title":"Buy more, save more","discount_method":"auto","trigger_type":"products","enable_trigger_data_collection_excludes":false,"tier_settings":[{"badge":null,"discount_type":"percentage","discount_value_fixed":0,"discount_value_percentage":0,"enable_show_gift_price":false,"enable_show_quantity_counter":false,"gift_title":null,"gifts":[],"is_default_selected":false,"label_text":null,"label_type":"classic","quantity":1,"subtitle":null,"title":"1 box of 50"},{"badge":null,"discount_type":"percentage","discount_value_fixed":"2.25","discount_value_percentage":10,"enable_show_gift_price":false,"enable_show_quantity_counter":false,"gift_title":null,"gifts":[],"is_default_selected":true,"label_text":"Bulk Savings","label_type":"classic","quantity":"10","subtitle":null,"title":"10 box of 50"}],"purchase_subscription_title":"Purchase options","subscription_position":"above","subscription_title":"Subscribe & save","subscription_subtitle":null,"subscription_onetime_purchase_title":"One time purchase","subscription_onetime_purchase_subtitle":null,"subscription_by_default":true,"allow_changing_tier_item_variant":false,"hide_theme_variant_picker":false,"show_price_per_unit":false,"show_both_prices":false,"use_compare_at_price":false,"combination_product_discount":true,"combination_order_discount":true,"combination_shipping_discount":true,"layout":"vertical","border_radius":8,"primary_color":"#000000","secondary_color":"#262626","label_background_color":"#FFEDF7","label_text_color":"#000000","heading_font_weight":"bold","heading_font_size":18,"body_font_weight":"regular","body_font_size":14,"badge_font_weight":"regular","badge_font_size":12,"highlight_font_weight":"bold","highlight_font_size":12,"enable_subscriptions":false,"discount_title":"Face Mask","trigger_data_products":[{"id":"
1903810666639098202","title":"Disposable Carbon Face Mask 4-ply","image":{"url":"https://cdn.shopify.com/s/files/1/0986/3371/1962/files/1729688947-50384500_d124edf0-40b8-412a-95fa-4e5de1f0043a.png?v=1768912172"},"totalVariants":1,"variants":"ALL","handle":"disposable-carbon-face-mask-4-ply"},{"id":"10803156549978","title":"Disposable Face Mask 3-ply","image":{"url":"https://cdn.shopify.com/s/files/1/0986/3371/1962/files/1657555759-23705200.jpg?v=1774538100"},"totalVariants":1,"variants":"ALL","handle":"tnbl-disposable-face-mask-3-ply"}],"trigger_data_collections":[],"trigger_data_tags":[],"trigger_customer_tags":[],"discount_code":null,"id":4117,"name":"Face Mask","type":"auto","created_at":"2026-03-31 03:00:23","updated_at":"2026-03-31 03:00:23","discount_id":1820035055962,"starts_at":"2026-03-26T14:47:36Z","ends_at":null},{"extension_type":"volume","offer_title":"Buy more, save more","discount_method":"auto","trigger_type":"products","enable_trigger_data_collection_excludes":false,"tier_settings":[{"badge":null,"discount_type":"percentage","discount_value_fixed":0,"discount_value_percentage":0,"enable_show_gift_price":false,"enable_show_quantity_counter":false,"gift_title":null,"gifts":[],"is_default_selected":false,"label_text":null,"label_type":"classic","quantity":1,"subtitle":null,"title":"1 pack"},{"badge":null,"discount_type":"percentage","discount_value_fixed":"2.25","discount_value_percentage":10,"enable_show_gift_price":false,"enable_show_quantity_counter":false,"gift_title":null,"gifts":[],"is_default_selected":true,"label_text":"Most popular","label_type":"classic","quantity":"10","subtitle":null,"title":"10 Packs"}],"purchase_subscription_title":"Purchase options","subscription_position":"above","subscription_title":"Subscribe & save","subscription_subtitle":null,"subscription_onetime_purchase_title":"One time purchase","subscription_onetime_purchase_subtitle":null,"subscription_by_default":true,"allow_changing_tier_item_variant":false,"hide_theme_variant_picker":false,"show_price_per_unit":false,"show_both_prices":false,"use_compare_at_price":false,"combination_product_discount":true,"combination_order_discount":true,"combination_shipping_discount":true,"layout":"vertical","border_radius":8,"primary_color":"#000000","secondary_color":"#262626","label_background_color":"#FFEDF7","label_text_color":"#000000","heading_font_weight":"bold","heading_font_size":18,"body_font_weight":"regular","body_font_size":14,"badge_font_weight":"regular","badge_font_size":12,"highlight_font_weight":"bold","highlight_font_size":12,"enable_subscriptions":false,"discount_title":"Nail Wipes","trigger_data_products":[{"id":"10666389832026","title":"Lint Free Nail Wipes 200pcs","image":{"url":"https://cdn.shopify.com/s/files/1/0986/3371/1962/files/1708030614-06445900_b6523e1c-5d11-47f3-8f5b-f68e9908ff15.jpg?v=1768903614"},"totalVariants":1,"variants":"ALL","handle":"tnbl-lint-free-nail-wipes-200pcs"},{"id":"10666389733722","title":"Meltblown Nail Wipes 200pcs","image":{"url":"https://cdn.shopify.com/s/files/1/0986/3371/1962/files/1713861555-27446200_4492b143-6e2b-4bbd-bb6c-ae7a67e84e8b.jpg?v=1768903610"},"totalVariants":1,"variants":"ALL","handle":"tnbl-meltblown-nail-wipes-200pcs"},{"id":"10666389897562","title":"Lint Free Wipe Large 40pcs","image":{"url":"https://cdn.shopify.com/s/files/1/0986/3371/1962/files/1716391148-03909600_fc7d4622-b70c-45b9-97e5-6c4035dd37e4.png?v=1768903615"},"totalVariants":1,"variants":"ALL","handle":"tnbl-lint-free-wipe-large-40pcs"},{"id":"10666389995866","title":"Nail Wipes on a Roll","image":{"url":"https://cdn.shopify.com/s/files/1/0986/3371/1962/files/1708030636-82872200_95578a3d-bb97-490d-a91d-3ac5580c8ccd.jpg?v=1768903616"},"totalVariants":2,"variants":["53270310945114"],"handle":"tnbl-nail-wipes-on-a-roll"}],"trigger_data_collections":[],"trigger_data_tags":[],"trigger_customer_tags":[],"discount_code":null,"id":4116,"name":"Nail Wipes","type":"auto","created_at":"2026-03-31 02:54:33","updated_at":"2026-03-31 02:54:33","discount_id":1820034924890,"starts_at":"2026-03-26T14:47:36Z","ends_at":null}], 19039 subscriptions: 0, 19040 instanceConfig: {"hide_watermark":true,"trigger_3978":{"id":3978,"name":"Nail Files","products":[{"id":"
1904010666633298266","variants":"ALL"},{"id":"10666633232730","variants":"ALL"},{"id":"10666633331034","variants":"ALL"},{"id":"10666633429338","variants":"ALL"},{"id":"10666633494874","variants":"ALL"},{"id":"10666633593178","variants":"ALL"},{"id":"10666633724250","variants":"ALL"},{"id":"10666633757018","variants":"ALL"},{"id":"10666633855322","variants":"ALL"}]},"trigger_4115":{"id":4115,"name":"Gloves","products":[{"id":"10666394976602","variants":["53270318940506","53270318973274","53270319006042"]},{"id":"10666395009370","variants":["53270319071578"]},{"id":"10666560913754","variants":"ALL"},{"id":"10666587750746","variants":"ALL"},{"id":"10666394943834","variants":["53270318743898","53270318776666","53270318809434","53270318842202"]}]},"trigger_4116":{"id":4116,"name":"Nail Wipes","products":[{"id":"10666389832026","variants":"ALL"},{"id":"10666389733722","variants":"ALL"},{"id":"10666389897562","variants":"ALL"},{"id":"10666389995866","variants":["53270310945114"]}]},"trigger_4117":{"id":4117,"name":"Face Mask","products":[{"id":"10666639098202","variants":"ALL"},{"id":"10803156549978","variants":"ALL"}]},"trigger_4118":{"id":4118,"name":"Brush on Nail Glue","products":[{"id":"10666395074906","variants":"ALL"}]},"trigger_4119":{"id":4119,"name":"Buy 500ml Monomer, Get 3 Acrylic Powders FREE","products":[{"id":"10666616095066","variants":["53270865412442"]},{"id":"10666616127834","variants":["53270865674586"]},{"id":"10666616226138","variants":"ALL"},{"id":"10666616357210","variants":["53270866133338"]},{"id":"10666616291674","variants":"ALL"}]},"trigger_4145":{"id":4145,"name":"Cotton Pads Square Pack of 100","products":[{"id":"10666389930330","variants":"ALL"}]},"trigger_4146":{"id":4146,"name":"GOAT MASK B5G1F","products":[{"id":"10666586636634","variants":"ALL"}]},"trigger_4148":{"id":4148,"name":"DND BASE B10G1F","products":[{"id":"10666635034970","variants":"ALL"}]},"trigger_4149":{"id":4149,"name":"VINA CUTICLE OIL B5G1F","products":[{"id":"10666356932954","variants":["53270263529818"]}]},"trigger_4150":{"id":4150,"name":"VINA MINI LOTION B10G1F","products":[{"id":"10666356932954","variants":["53270263529818"]}]},"trigger_4151":{"id":4151,"name":"VINA DIAMOND NO WIPE","products":[{"id":"10666588143962","variants":"ALL"}]},"trigger_4741":{"id":4741,"name":"Buy 250ml Monomer, Get 3 Acrylic Powders FREE","products":[{"id":"10666616357210","variants":["53270866100570"]},{"id":"10666616095066","variants":["53270865379674"]},{"id":"10666616127834","variants":["53270865641818"]}]},"trigger_5098":{"id":5098,"name":"Straight Black & White Nail Files","products":[{"id":"10666633724250","variants":"ALL"},{"id":"10666633855322","variants":"ALL"}]},"trigger_5100":{"id":5100,"name":"NAIL FILE PREMIUM","products":[{"id":"10666633331034","variants":"ALL"},{"id":"10666633429338","variants":"ALL"}]},"trigger_5103":{"id":5103,"name":"STRAIGHT ZEBRA PRO NAIL FILE","products":[{"id":"10666633494874","variants":"ALL"}]},"trigger_5106":{"id":5106,"name":"PROFESSIONAL NAIL FILE ZEBRA HALF MOON AND SQUARE","products":[{"id":"10666633298266","variants":"ALL"},{"id":"10666633232730","variants":"ALL"}]}}, 19041 userStatus: "ACTIVATED", 19042 version: 1, 19043 storeFrontAccessToken: "65559eef1531f2ae80accc97fcf34b1b", 19044 generalTranslation: 0, 19045 volumeTranslation: 0, 19046 shop: 0 19047 } 19048 19049 qvlStore = { 19050 productData: {}, 19051 page: "product", 19052 currency: "GBP", 19053 moneyFormat: "£{{amount}}", 19054 market: "103848444250", 19055 country: "GB", 19056 shop: "tnbl-uk.myshopify.com", 19057 designMode: false, 19058 shopLocale: { 19059 iso_code: "en", 19060 primary: true, 19061 root_url: "/", 19062 } 19063 } 19064 19065 19066 19067 19068 19069 19070 window.qvlStore.handle = "apres-nova-led-lamp-mini"; 19071 window.qvlStore.productId = "11020550406490"; 19072 window.qvlStore.selectedId = "54916494557530"; 19073 window.qvlStore.productData["11020550406490"] = { 19074 id: "11020550406490", 19075 handle: "apres-nova-led-lamp-mini", 19076 collections: [670949638490,670952161626,670951145818,672830783834,673110819162,670951113050,670956454234], 19077 tags: ["New In"], 19078 vendor: "APRES", 19079 type: "", 19080 available: true, 19081 variants: [ 19082 19083 { 19084 id: 54916494557530, 19085 price: 9995, 19086 compare_at_price: 0, 19087 available: true, 19088 inventory_quantity: 8, 19089 inventory_policy: "deny", 19090 inventory_management: "shopify", 19091 } 19092 , 19093 19094 { 19095 id: 54916494590298, 19096 price: 9995, 19097 compare_at_price: 0, 19098 available: true, 19099 inventory_quantity: 8, 19100 inventory_policy: "deny", 19101 inventory_management: "shopify", 19102 } 19103 19104 19105 ], 19106 options_with_values: [ 19107 19108 { 19109 name: "Colour", 19110 position: 1, 19111 values: [ 19112 19113 { 19114 name: "Black", 19115 variant_color: "", 19116 variant_image: "", 19117 } 19118 , 19119 19120 { 19121 name: "White", 19122 variant_color: "", 19123 variant_image: "", 19124 } 19125 19126 19127 ] 19128 } 19129 19130 19131 ], 19132 }; 19133 19134 19135 19136 19137 19138</script>
19138 19139
19140<script src="https://cdn.shopify.com/extensions/01a11564-863b-7784-95cd-1d76a720d5d7/qikify-bundles-quantity-break-97/assets/volume-v1.js" defer="defer"></script>
19140 19141 19142 19143 19144 19145 <style id="bkvolume-custom-style"></style> 19146 19147 19148 19149
19149<script id="bkvolume-custom-script"></script>
19149 19150 19151 19152 19153</div><div id="shopify-block-Aa2IwTnk2KzlzQURZd__6933373160360723723" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: wishlist_styles --><style> :root{ --st-add-icon-color: #121212; --st-added-icon-color: #dc2626; --st-loading-icon-color: #6b7280; --st-add-icon-background-color: transparent; --st-added-icon-background-color: transparent; --st-atc-button-border-radius: 8px; --st-atc-button-color: #ffffff; --st-atc-button-background-color: #111111; --st-product-card-btn-size: 40px; --st-product-card-icon-size: 20px; --st-product-card-btn-border-width: 0px; --st-product-card-btn-border-style: none; --st-product-card-btn-border-color: transparent; } /* Product-card circular button: lock square size early (before st_wl_styles). */ .st-wishlist-button[data-type="product-card"], .st-wishlist-button.st-wishlist-button--product-card { box-sizing: border-box !important; width: var(--st-product-card-btn-size, 40px) !important; height: var(--st-product-card-btn-size, 40px) !important; min-width: var(--st-product-card-btn-size, 40px) !important; min-height: var(--st-product-card-btn-size, 40px) !important; max-width: var(--st-product-card-btn-size, 40px) !important; max-height: var(--st-product-card-btn-size, 40px) !important; padding: 0 !important; line-height: 1 !important; border-width: var(--st-product-card-btn-border-width, 0px) !important; border-style: var(--st-product-card-btn-border-style, none) !important; border-color: var(--st-product-card-btn-border-color, transparent) !important; border-radius: 50%; align-items: center; justify-content: center; } .st-wishlist-button[data-type="product-card"]:empty, .st-wishlist-button.st-wishlist-button--product-card:empty { display: none !important; } .st-wishlist-button[data-type="product-card"] .st-wishlist-icon, .st-wishlist-button[data-type="product-card"] .st-wishlist-loading-icon, .st-wishlist-button[data-type="product-card"] svg:not(.st-locker-icon), .st-wishlist-button.st-wishlist-button--product-card .st-wishlist-icon, .st-wishlist-button.st-wishlist-button--product-card .st-wishlist-loading-icon, .st-wishlist-button.st-wishlist-button--product-card svg:not(.st-locker-icon) { width: var(--st-product-card-icon-size, 20px) !important; height: var(--st-product-card-icon-size, 20px) !important; } /* .st-wishlist-button, #st_wishlist_icons, .st-wishlist-details-button{ display: none; } */ /* Visually hide the SVG symbol sprite without `display: none`. WebKit/Safari often fails to paint <use href="#â¦"> when the referenced symbol lives in a display:none subtree (Chrome still paints). Keep a non-zero box off-screen: width/height 0 can still collapse <use> intrinsic size on Safari (PDP icon-only buttons then paint at ~0px). */ #st_wishlist_icons, #st-wishlist-icons-sprites { position: absolute !important; left: -10000px !important; top: -10000px !important; width: 24px !important; height: 24px !important; overflow: hidden !important; pointer-events: none !important; /* Do not use display:none / visibility:hidden / opacity:0 / zero-box here. */ } /* Hard icon box so theme rules like `svg { width:auto; height:auto }` cannot collapse <use> icons on WebKit. Product-card keeps its own size vars (higher specificity). Details PDP uses this 20px box. */ .st-wishlist-button .st-wishlist-icon, .st-wishlist-button .st-wishlist-loading-icon, .st-wishlist-button svg:not(.st-locker-icon) { width: 20px !important; height: 20px !important; min-width: 20px !important; min-height: 20px !important; flex-shrink: 0 !important; overflow: visible !important; } .st-wishlist-button[data-type="details"] .st-wishlist-icon, .st-wishlist-button[data-type="details"] .st-wishlist-loading-icon, .st-wishlist-button[data-type="details"] svg:not(.st-locker-icon) { width: 20px !important; height: 20px !important; min-width: 20px !important; min-height: 20px !important; flex-shrink: 0 !important; overflow: visible !important; } .st-wishlist-initialized .st-wishlist-button{ display: flex; } /* Override store's --colorTextBody variable to prevent color inheritance */ .st-wishlist-button:not([data-type="details"]) { --colorTextBody: var(--st-add-icon-color) !important; } .st-wishlist-button.st-is-added:not([data-type="details"]) { --colorTextBody: var(--st-added-icon-color) !important; } .st-wishlist-button.st-is-loading:not([data-type="details"]) { --colorTextBody: var(--st-loading-icon-color) !important; } .st-wishlist-loading-icon{ color: var(--st-loading-icon-color) !important; fill: var(--st-loading-icon-color) !important; } .st-wishlist-button:not([data-type="details"]) .st-wishlist-icon{ color: var(--st-add-icon-color) !important; fill: var(--st-add-icon-color) !important; } .st-wishlist-button:not([data-type="details"]) .st-wishlist-icon use { fill: var(--st-add-icon-color) !important; } .st-wishlist-button.st-is-added:not([data-type="details"]) .st-wishlist-icon{ color: var(--st-added-icon-color) !important; fill: var(--st-added-icon-color) !important; } .st-wishlist-button.st-is-added:not([data-type="details"]) .st-wishlist-icon use { fill: var(--st-added-icon-color) !important; } .st-wishlist-button.st-is-loading:not([data-type="details"]) .st-wishlist-icon{ color: var(--st-loading-icon-color) !important; fill: var(--st-loading-icon-color) !important; } .st-wishlist-button.st-is-loading:not([data-type="details"]) .st-wishlist-icon use { fill: var(--st-loading-icon-color) !important; } .st-wishlist-initialized { .st-wishlist-details-button--header-icon, .st-wishlist-details-button { display: flex; } } .st-initialized.st-wishlist-details-button--header-icon, .st-initialized.st-wishlist-details-button{ display: flex; } .st-wishlist-details-button { cursor: pointer; } .st-wishlist-details-button:not([data-custom-icon="true"]):not([data-swishlist-had-custom-icon-at-mark="1"]) { --colorTextBody: var(--icon-color) !important; } .st-wishlist-details-button:not([data-custom-icon="true"]):not([data-swishlist-had-custom-icon-at-mark="1"]) .st-wishlist-icon{ color: var(--icon-color); fill: var(--icon-color); } .st-wishlist-details-button:not([data-custom-icon="true"]):not([data-swishlist-had-custom-icon-at-mark="1"]) .st-wishlist-icon use { fill: var(--icon-color) !important; } /* ===== Wishlist popups (create / manage / confirm) ===== */ .st-popup { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; pointer-events: none; } .st-popup_overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.4); pointer-events: auto; } .st-popup_box { position: relative; pointer-events: auto; background-color: #ffffff; color: #202223; min-width: min(420px, 92vw); max-width: 520px; border-radius: 10px; box-shadow: 0 24px 48px rgba(0, 0, 0, 0.14); /* padding: 20px 24px 18px; */ } .st-popup_box header { margin-bottom: 12px; } .st-popup_box header .st-h3 { font-size: 18px; font-weight: 600; } .st-popup_box main { margin: 8px 0 16px; } .st-popup_box footer { margin-top: 4px; opacity: 1 !important; transform: none !important; transition: none !important; } /* Close button in popup header */ .st-popup_box .st-close-button { border: none; background: transparent; cursor: pointer; padding: 0; color: #8c9196; } .st-popup_box .st-close-button:hover { color: #202223; } /* Create / manage wishlist specific styling */ .st-popup--create-wishlist label, .st-popup--manage-wishlist label { display: block; margin-bottom: 6px; font-size: 13px; color: #6d7175; } .st-popup--create-wishlist input[type="text"], .st-popup--manage-wishlist input[type="text"] { width: 100%; border-radius: 6px; border: 1px solid #c9ccd0; padding: 7px 10px; font-size: 14px; box-shadow: inset 0 0 0 1px transparent; outline: none; } .st-popup--create-wishlist input[type="text"]:focus, .st-popup--manage-wishlist input[type="text"]:focus { border-color: #5c6ac4; box-shadow: 0 0 0 1px #5c6ac4; } .st-popup--manage-wishlist .st-wishlist-item_input { flex: 1 1 auto; } .st-popup--manage-wishlist .st-wishhlist-item form { display: flex; align-items: center; justify-content: space-between; gap: 12px; } .st-popup--manage-wishlist .st-wishhlist-item + .st-wishhlist-item { margin-top: 8px; } .st-popup--manage-wishlist .st-edit-button, .st-popup--manage-wishlist .st-delete-button { border: none; background: #f6f6f7; border-radius: 6px; width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; } .st-popup--manage-wishlist .st-delete-button { margin-left: 4px; } .st-popup--manage-wishlist .st-edit-button:hover { background: #e3e5e8; } .st-popup--manage-wishlist .st-delete-button:hover { background: #fdebea; } /* Hide delete button when only one wishlist (safety) */ .st-popup--manage-wishlist.st-has-single-wishlist .st-delete-button { display: none; } /* Confirm popup buttons */ .st-popup--confirm footer .st-cancel-button, .st-popup--confirm footer .st-confirm-button { min-width: 110px; border-radius: 6px; padding: 7px 14px; font-size: 14px; font-weight: 500; border: 1px solid transparent; cursor: pointer; } .st-popup--confirm footer .st-cancel-button { background: #ffffff; color: #202223; border-color: #c9ccd0; } .st-popup--confirm footer .st-cancel-button:hover { background: #f6f6f7; } .st-popup--confirm footer .st-confirm-button { background: #de3618;
19153 color: #ffffff; border-color: #de3618; } .st-popup--confirm footer .st-confirm-button:hover { background: #bf2710; border-color: #bf2710; } .st-popup--danger .st-confirm-button { background: #de3618; border-color: #de3618; } /* Login popup */ .st-popup--login { z-index: 2041997; } .st-popup--login.st-is-open { display: flex !important; } .st-popup--login .popup-close-x { position: absolute; top: 0; right: 0; padding: 10px; } .st-popup--login .popup-close-x button { background: transparent; border: none; color: #AAAAAA; transition: color 0.2s ease; cursor: pointer; } .st-popup--login .popup-close-x button:hover { color: #FFFFFF; } .st-popup--login .popup-header { background: #000; padding: 10px 10px; } .st-popup--login .popup-header .header-title { color: #fff; font-size: 18px; font-weight: bold; text-align: center; margin: 0; } .st-popup--login .popup-body { display: flex; flex-wrap: wrap; padding: 16px; align-items: center; gap: 16px; color: #000; } .st-popup--login .popup-footer { display: flex; justify-content: center; align-items: center; padding: 16px; gap: 16px; color: #000; } .st-popup--login .popup--button { background: #eee; padding: 10px 20px; border-radius: 5px; border: 1px solid #ccc; cursor: pointer; } .st-popup--login .popup--button:hover { background: #ddd; } </style> <!-- END app snippet --><link rel="stylesheet" href="https://cdn.shopify.com/extensions/01a11a04-6da5-7ed6-89a8-7dba9a26990f/swishlist-606/assets/st_wl_styles.min.css" media="print" onload="this.media='all'" > <noscript><link href="//cdn.shopify.com/extensions/01a11a04-6da5-7ed6-89a8-7dba9a26990f/swishlist-606/assets/st_wl_styles.min.css" rel="stylesheet" type="text/css" media="all" /></noscript> <style id="st-wishlist-custom-css"> </style> <template id="st_wishlist_template"><!-- BEGIN app snippet: wishlist_template_core --><div id="wishlist_button"> <svg width="20" height="20" class="st-wishlist-icon"> <use xlink:href="#st_add_icon"></use> </svg> <span class="st-label">[label]</span> </div> <div class="st-toast"> <div class="st-content"></div> <button class="st-close-button" aria-label="Close" title="Close"> <svg class="st-icon" width="20" height="20" aria-hidden="true" focusable="false"> <use xlink:href="#st_close_icon"></use> </svg> </button> </div> <div id="st_toast_error"> <div class="st-toast-error"> <span class="st-error-icon" role="img" aria-label="Error">ð´</span> <p class="st-message">[message]</p> </div> </div> <div id="toast_product_message"> <div class="st-product-toast"> <div class="st-product-toast_content" data-src="[src]"> <div class="st-image"> [img] </div> </div> <div class="st-product-toast_title"> <p>[title]</p> <span>[message]</span> <p class="st-product-toast_sub-message">[subMessage]</p> </div> </div> </div><!-- BEGIN app snippet: details_button --><button type="button" class="st-wishlist-details-button" aria-label="Open Wishlist Details" title="Open Wishlist Details" data-type="floating" > <svg width="20" height="20" class="st-wishlist-icon"> <use xlink:href="#st_details_icon"></use> </svg> <span class="st-label st-none st-js-label">My Wishlist</span> <span class="st-number st-js-number st-none">0</span> </button> <!-- END app snippet --><!-- END app snippet --><!-- BEGIN app snippet: wishlist_template_shell --><!-- BEGIN app snippet: wishlist_drawer --> <div class="st-wishlist-details st-wishlist-details--drawer st-wishlist-details--right st-is-loading "> <div class="st-wishlist-details_overlay"><span></span></div> <div class="st-wishlist-details_wrapper"> <div class="st-wishlist-details_header"> <div class="st-wishlist-details_title st-flex st-justify-between"> <div class="st-h3 h2">My Wishlist</div> <button class="st-close-button" aria-label="Close the wishlist drawer" title="Close the wishlist drawer" > <svg class="st-icon" width="20" height="20" aria-hidden="true" focusable="false"> <use xlink:href="#st_close_icon"></use> </svg> </button> </div><div class="st-wishlist-details_shares"><!-- BEGIN app snippet: wishlist_shares --><div class="st-wishlist-shares-wrap"> <ul class="st-wishlist-shares st-list-style-none st-flex st-gap-20 st-justify-center" data-list=""> <li class="st-wishlist-share-item st-wishlist-share-item--facebook"> <button class="st-share-button" data-type="facebook" aria-label="Share on Facebook" title="Share on Facebook" > <svg class="st-icon" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" > <g>
19153<path fill="currentColor" d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></g> </svg> </button> </li> <li class="st-wishlist-share-item st-wishlist-share-item--pinterest"> <button class="st-share-button" data-type="pinterest" aria-label="Pin on Pinterest" title="Pin on Pinterest" > <svg class="st-icon" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" > <path fill="currentColor" d="M12.137,0.5C5.86,0.5,2.695,5,2.695,8.752c0,2.272,0.8 ,4.295,2.705,5.047c0.303,0.124,0.574,0.004,0.661-0.33 c0.062-0.231,0.206-0.816,0.271-1.061c0.088-0.331,0.055-0.446-0.19-0.736c-0.532-0.626-0.872-1.439-0.872-2.59 c0-3.339,2.498-6.328,6.505-6.328c3.548,0,5.497,2.168,5.497,5.063c0,3.809-1.687,7.024-4.189,7.024 c-1.382,0-2.416-1.142-2.085-2.545c0.397-1.675,1.167-3.479,1.167-4.688c0-1.081-0.58-1.983-1.782-1.983 c-1.413,0-2.548,1.461-2.548,3.42c0,1.247,0.422,2.09,0.422,2.09s-1.445,6.126-1.699,7.199c-0.505,2.137-0.076,4.756-0.04,5.02 c0.021,0.157,0.224,0.195,0.314,0.078c0.13-0.171,1.813-2.25,2.385-4.325c0.162-0.589,0.929-3.632,0.929-3.632 c0.459,0.876,1.801,1.646,3.228,1.646c4.247,0,7.128-3.871,7.128-9.053C20.5,4.15,17.182,0.5,12.137,0.5z"></path> </svg> </button> </li> <li class="st-wishlist-share-item st-wishlist-share-item--twitter"> <button class="st-share-button" data-type="twitter" aria-label="Tweet on Twitter" title="Tweet on Twitter" > <svg class="st-icon" width="24px" height="24px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" > <path fill="currentColor" d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"/> </svg> </button> </li> <li class="st-wishlist-share-item st-wishlist-share-item--whatsapp"> <button class="st-share-button" data-type="whatsapp" aria-label="Share on WhatsApp" title="Share on WhatsApp" > <svg class="st-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"> <path fill="currentColor" d="M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7 .9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z"/> </svg> </button> </li> <li class="st-wishlist-share-item st-wishlist-share-item--email"> <button class="st-share-button" data-type="email" aria-label="Share on Email" title="Share on Email" > <svg class="st-icon" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" > <path fill="currentColor" d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path> </svg> </button> </li> <li class="st-wishlist-share-item st-wishlist-share-item--copy_link"> <button class="st-share-button" data-type="copy_link" aria-label="Copy to Clipboard" title="Copy to Clipboard" > <svg class="st-icon" width="24" height="24" viewBox="0 0 512 512">
19153 <path fill="currentColor" d="M459.654,233.373l-90.531,90.5c-49.969,50-131.031,50-181,0c-7.875-7.844-14.031-16.688-19.438-25.813 l42.063-42.063c2-2.016,4.469-3.172,6.828-4.531c2.906,9.938,7.984,19.344,15.797,27.156c24.953,24.969,65.563,24.938,90.5,0 l90.5-90.5c24.969-24.969,24.969-65.563,0-90.516c-24.938-24.953-65.531-24.953-90.5,0l-32.188,32.219 c-26.109-10.172-54.25-12.906-81.641-8.891l68.578-68.578c50-49.984,131.031-49.984,181.031,0 C509.623,102.342,509.623,183.389,459.654,233.373z M220.326,382.186l-32.203,32.219c-24.953,24.938-65.563,24.938-90.516,0 c-24.953-24.969-24.953-65.563,0-90.531l90.516-90.5c24.969-24.969,65.547-24.969,90.5,0c7.797,7.797,12.875,17.203,15.813,27.125 c2.375-1.375,4.813-2.5,6.813-4.5l42.063-42.047c-5.375-9.156-11.563-17.969-19.438-25.828c-49.969-49.984-131.031-49.984-181.016,0 l-90.5,90.5c-49.984,50-49.984,131.031,0,181.031c49.984,49.969,131.031,49.969,181.016,0l68.594-68.594 C274.561,395.092,246.42,392.342,220.326,382.186z"></path> </svg> <span>Copied</span> </button> </li> </ul> <div class="st-email-options-popup-content"> <button type="button" class="st-email-options-popup-close-button" data-email-action="close" >Ã</button> <div class="st-email-options-popup-title">Choose email method</div> <div class="st-email-options-popup-buttons"> <button type="button" class="st-email-options-popup-option-button" data-email-action="mail-client" aria-label="Email client" title="Email client" > <div class="st-email-options-popup-option-icon">@</div> <div class="st-email-options-popup-option-text"> <div class="st-email-options-popup-option-title">Mail Client</div> <div class="st-email-options-popup-option-description">Outlook, Apple Mail, Thunderbird</div> </div> </button> <button type="button" class="st-email-options-popup-option-button" data-email-action="gmail" aria-label="Gmail Web" title="Gmail Web" > <div class="st-email-options-popup-option-icon">G</div> <div class="st-email-options-popup-option-text"> <div class="st-email-options-popup-option-title">Gmail Web</div> <div class="st-email-options-popup-option-description">Open in browser</div> </div> </button> <button type="button" class="st-email-options-popup-option-button" data-email-action="outlook" aria-label="Outlook Web" title="Outlook Web" > <div class="st-email-options-popup-option-icon">O</div> <div class="st-email-options-popup-option-text"> <div class="st-email-options-popup-option-title">Outlook Live Web</div> <div class="st-email-options-popup-option-description">Open Outlook Live web in browser</div> </div> </button> <button type="button" class="st-email-options-popup-option-button" data-email-action="copy" aria-label="Copy shareable link" title="Copy shareable link" > <div class="st-email-options-popup-option-icon">C</div> <div class="st-email-options-popup-option-text"> <div class="st-email-options-popup-option-title st-email-options-popup-copy-title">Copy Link</div> <div class="st-email-options-popup-option-description">Copy shareable link</div> </div> </button> </div> </div> </div> <!-- END app snippet --></div></div> <div class="st-wishlist-details_main"><div class="st-wishlist-details_products st-js-products"></div> <div class="st-wishlist-details_products_total_price"> <span class="st-total-price-label">Total in Wishlist:</span> <span class="st-total-price-value">[totalPriceWishlist]</span> </div> <div class="st-wishlist-details_loading"> <svg width="50" height="50"> <use xlink:href="#st_loading_icon"></use> </svg> </div> <div class="st-wishlist-details_empty st-text-center"> <p> <b>Love it? Add to your wishlist</b> </p> <p>Your favorites, all in one place. Shop quickly and easily with the wishlist feature!</p> <div class="st-wishlist-details_empty_actions"> <a href="/collections/all" class="st-atc-button" > Start Shopping </a> </div> </div> </div> <div class="st-wishlist-details_footer_buttons"> <button type="button" class="st-footer-button st-add-all-to-cart-button" data-location-button="drawer" data-add-all-label="Add All to Cart"> Add All to Cart </button> <button type="button" class="st-footer-button st-go-to-cart-button" data-cart-url="/cart"> Go to Cart </button> <button type="button" class="st-footer-button st-remove-all-items-button" data-remove-all-label="Clear Wishlist"> Clear Wishlist </button> </div><div class="st-wishlist-save-your-wishlist"><!-- BEGIN app snippet: guest_save_wishlist_login_link --><a href="https://www.tnbl.co.uk/customer_authentication/redirect?locale=en®ion_country=GB&return_url=%2Fproducts%2Fapres-nova-led-lamp-mini" rel="nofollow">Log in to save it and sync across devices.</a> <!-- END app snippet --></div></div> <template style="display: none;"> <!-- BEGIN app snippet: product_card --><st-product-card data-handle="[handle]" data-id="[id]" data-wishlist-id="[wishlistId]" data-variant-id="[variantId]" class="st-product-card st-product-card--drawer st-product-card--[viewMode]" > <div class="st-product-card_image"> <div class="st-image">[img]</div> </div> <form action="/cart/add" class="st-product-card_form"> <input type="hidden" name="form_type" value="product"> <input type="hidden" name="quantity" value="[quantityRuleMin]"> <div class="st-product-card_group st-product-card_group--title">
19153 <div class="st-product-card_vendor_title [vendorClass]"> <div class="st-product-card_vendor">[vendor]</div> <div class="st-product-card_title">[title]</div> <div class="st-product-card_sku [skuClass]">[sku]</div> </div> <div class="st-product-card_options st-none"> <div class="st-pr"> <select name="id" data-product-id="[id]"></select> <span class="st-product-card_variant-text st-none"></span> <svg class="st-variant-select-caret" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M10 12.9998C9.68524 12.9998 9.38885 12.8516 9.2 12.5998L6.20001 8.59976C5.97274 8.29674 5.93619 7.89133 6.10558 7.55254C6.27497 7.21376 6.62123 6.99976 7 6.99976H13C13.3788 6.99976 13.725 7.21376 13.8944 7.55254C14.0638 7.89133 14.0273 8.29674 13.8 8.59976L10.8 12.5998C10.6111 12.8516 10.3148 12.9998 10 12.9998Z" fill="black"/> </svg> </div> </div> </div> <div class="st-product-card_group st-product-card_group--quantity"> <div class="st-product-card_quantity"> <p class="st-product-card_price st-js-price [priceFreeClass] [compareAtPriceClass] [visibilityHidePriceClass]">[price]<span class="st-js-compare-at-price">[compareAtPrice]</span></p> <div class="st-quantity-widget st-none"> <button type="button" class="st-minus-button" aria-label="" > - </button> <input type="number" class="st-quantity-input" min="1" value="[quantityRuleMin]"> <button type="button" class="st-plus-button" aria-label="" > + </button> </div> </div> <button type="submit" class="st-atc-button [visibilityHideAtcClass]"> <span>Add to Cart</span> <svg width="20" height="20"> <use xlink:href="#st_loading_icon"></use> </svg> </button> </div> </form> <div class="st-product-card_actions st-pa st-js-actions"> <button class="st-delete-button st-flex st-justify-center st-align-center" aria-label="Delete" title="Delete" > <svg width="24" height="24" class="st-icon st-delete-icon"> <use xlink:href="#st_close_icon"></use> </svg> </button> </div> <div class="st-product-card_loading"> <div></div> <svg width="50" height="50"> <use xlink:href="#st_loading_icon"></use> </svg> </div> </st-product-card> <!-- END app snippet --> </template> </div> <!-- END app snippet --> <!-- BEGIN app snippet: confirm_popup --> <div class="st-popup st-popup--confirm" style="display:none;"> <div class="st-popup_overlay"></div> <div class="st-popup_box"> <header class="st-text-center"> </header> <main> <div class="message st-text-center"></div> </main> <footer class="st-flex st-justify-center st-gap-20"> <button class="st-cancel-button"> Cancel </button> <button class="st-confirm-button"> Delete </button> </footer> </div> </div> <!-- END app snippet --><!-- END app snippet --></template>
19153<script id="swishlist-bootstrap-data" type="application/json"> { "configuration": { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzaG9wIjoidG5ibC11ay5teXNob3BpZnkuY29tIiwiaWF0IjoxNzY3NzQzNjA4fQ.Zina85-L3b8kuc6hsqoDRgzjJIusvG8SNSsb6TvJwy0", "customer": null, "currency": { "currency": "GBP", "moneyFormat": "£{{amount}}", "moneyWithCurrencyFormat": "£{{amount}} GBP" }, "routes": { "root_url": "\/", "account_login_url": "https:\/\/www.tnbl.co.uk\/customer_authentication\/redirect?locale=en\u0026region_country=GB", "account_logout_url": "\/account\/logout", "account_profile_url": "https:\/\/account.tnbl.co.uk\/profile?locale=en\u0026region_country=GB\u0026buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJ0bmJsLXVrLm15c2hvcGlmeS5jb20iLCJmbGFncyI6W10sImV4cCI6MTc5MjEyMDk0NiwibmJmIjoxNzkxNTE2MTQ2fQ.8h-eaGfHNfVyonF4bzPk3oaKJZrHwdUEiqIXr1VLvJk", "account_url": "\/account", "collections_url": "\/collections", "cart_url": "\/cart", "product_recommendations_url": "\/recommendations\/products" }, "visibility": { "showAddWishlistButton": true }, "pdpWishlistButtonMissingBeforeFallback": false, "pdpWishlistFloatingFallbackApplied": false, "debug": {} }, "appOtherInfo": {"isReachedLimit":false,"typeReachedLimit":"","levelReachedLimit":1}, "activeThemeId": null, "themeSettings": null, "numberThemesSettings": 4, "themesSettings": [{"id":"46106","storeId":11604,"themeId":"193038713178","settings":{"general":{"pages":{"wishlistDetails":"","shareWishlist":""},"addToCartButtonStyles":{"borderRadius":"8px","backgroundColor":"#111111","color":"#ffffff"},"redirectToPage":false,"afterAddedItemToCartBehavior":"redirect_cart_page","afterAddedItemToCartBehaviorCustomUrl":"","customer":{"allowGuest":true,"useLoginPopup":false,"redirectLoginPage":false,"syncLocalToServer":true,"tagsMode":"all","tags":[]},"allowAddMultipleVariants":false,"icons":{"loading":{"type":"icon_5","custom":null,"color":"#6b7280"},"add":{"type":"icon_2","custom":null,"color":"#121212","backgroundColor":"transparent","buttonBackgroundColor":"transparent"},"added":{"type":"icon_1","custom":null,"color":"#dc2626","backgroundColor":"transparent","buttonBackgroundColor":"transparent"}},"sharing":{"socialList":["facebook","twitter","pinterest","email","copy_link"]}},"detailsButton":{"itemsCount":{"show":true,"hideWhenEmpty":true,"color":{"hex":"#fff","alpha":1},"bgColor":{"hex":"#FF0001","alpha":1}},"type":"floating","selectorQueries":[],"afterClick":"open_drawer","showLabel":true,"styles":{"borderRadius":"8px","backgroundColor":"#111111","color":"#ffffff"},"placement":"bottom_right","icon":{"type":"icon_2","color":"#dc2626","custom":null},"animation":{"canUse":false,"enable":false,"type":"animation-sw-shake","disableWhenEmpty":true,"interval":"20s"},"imageFitType":"cover","otherInfo":{"price":{"styles":{"color":"#111827"}},"vendor":{"show":false,"position":"above_product_title","styles":{"color":"#111827"}},"compareAtPrice":{"show":false,"position":"right_of_price","styles":{"color":"#b91c1c"}},"sku":{"show":false,"styles":{"color":"#111827"}},"totalPrice":{"show":false,"position":"bottom","styles":{"color":"#111827","fontSize":"20px"}},"formatPrice":{"type":"amount_without_currency"},"quantityWidget":{"show":false,"styles":{}},"variantSelector":{"hide":false,"type":"select","styles":{}}}},"notificationPopup":{"placement":"left_top","duration":3000,"effect":{"type":""},"hideOnAddRemoveItemToWishlist":false,"hideOnAddRemoveItemToCart":false,"showPopupReminder":false,"numberProductsPopupReminder":1,"showNotificationReminder":false,"minDaysShowPopupReminder":2,"minDaysReShowPopupReminder":2,"showPopupReminderInProductPage":true,"stylesToast":{"backgroundColor":"#ffffff","colorTitle":"#000000","colorMessage":"#000000","colorClose":"#000000"},"stylesReminder":{"backgroundColor":"#ffffff","shadowColor":"#000000","backgroundColorHeader":"#000000","colorHeader":"#ffffff","colorProductTitle":"#000000","backgroundButton":"#000000","colorButton":"#ffffff"}},"eventNotification":{"enable":false,"saleEventProducts":[],"priceEventProducts":[],"inventoryEventProducts":[],"settings":{"useImage":false,"useIcon":false,"useGreeting":false,"requireInteraction":false,"imageType":"default","iconType":"default","imageUpload":null,"iconUpload":null,"quietTime":{"enable":false,"start":"22:00","end":"08:00","timezone":"UTC+0"},"batching":{"enable":false},"saleEventsSchedule":{"mode":"immediately","delay":0,"cooldown":{"enable":false,"duration":3600}},"priceEventsSchedule":{"mode":"immediately","delay":0,"cooldown":{"enable":false,"duration":3600}},"inventoryEventsSchedule":{"mode":"immediately","delay":0,"cooldown":{"enable":false,"duration":3600}}},"saleOn":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"saleOff":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"saleDeeper":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"saleShallower":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"priceDrop":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"priceRise":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"outStock":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"inStock":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"}},"productPage":{"insertType":"manually","buttonPosition":"beforebegin","floatingButtonPosition":"bottom_right","insertSelector":"","wishlistButton":{"fullWidth":true,"showLabel":true,"showNumberActivities":false,"icon":{"color":"#FF0000","addedColor":"#ffffff"},"styles":{"borderWidth":"1px","borderColor":"#e5e7eb","borderStyle":"solid","borderRadius":"8px","backgroundColor":"#111111","color":"#ffffff","margin":"10px 0px","padding":"10px"},"animation":{"canUse":false,"enable":false,"type":"animation-sw-shake","disableWhenAdded":true,"interval":"20s"}}},"productCard":{"insertType":"manually","buttonPosition":"right_top","childPosition":"last_child","insertSelector":"","wishlistButton":{"fullWidth":false,"showLabel":false,"showNumberActivities":false,"icon":{"color":"#FF0000","addedColor":"#ffffff","backgroundColor":"transparent","addedBackgroun
19153dColor":"transparent"},"styles":{"borderWidth":"1px","borderColor":"#e5e7eb","borderStyle":"solid","borderRadius":"8px","backgroundColor":"#111111","color":"#ffffff","margin":"","padding":"10px"},"animation":{"canUse":false,"enable":false,"type":"animation-sw-shake","disableWhenAdded":true,"interval":"20s"}}}},"version":"1.0.0","createdAt":"2026-03-30T07:23:25.031Z","updatedAt":"2026-03-30T07:23:25.031Z"},{"id":"45981","storeId":11604,"themeId":"193010991450","settings":{"general":{"pages":{"wishlistDetails":"","shareWishlist":""},"addToCartButtonStyles":{"borderRadius":"8px","backgroundColor":"#111111","color":"#ffffff"},"redirectToPage":false,"afterAddedItemToCartBehavior":"redirect_cart_page","afterAddedItemToCartBehaviorCustomUrl":"","customer":{"allowGuest":true,"useLoginPopup":false,"redirectLoginPage":false,"syncLocalToServer":true,"tagsMode":"all","tags":[]},"allowAddMultipleVariants":false,"icons":{"loading":{"type":"icon_5","custom":null,"color":"#6b7280"},"add":{"type":"icon_2","custom":null,"color":"#111111","backgroundColor":"transparent","buttonBackgroundColor":"transparent"},"added":{"type":"icon_1","custom":null,"color":"#111111","backgroundColor":"transparent","buttonBackgroundColor":"transparent"}},"sharing":{"socialList":["facebook","twitter","pinterest","email","copy_link"]}},"detailsButton":{"itemsCount":{"show":false,"hideWhenEmpty":true,"color":{"hex":"#fff","alpha":1},"bgColor":{"hex":"#FF0001","alpha":1}},"type":"header_icon","selectorQueries":[],"afterClick":"redirect_to_page","showLabel":true,"styles":{"borderRadius":"8px","backgroundColor":"#111111","color":"#ffffff"},"placement":"bottom_right","icon":{"type":"icon_2","color":"#111111","custom":null},"animation":{"canUse":false,"enable":false,"type":"animation-sw-shake","disableWhenEmpty":true,"interval":"20s"},"imageFitType":"cover","otherInfo":{"price":{"styles":{"color":"#111827"}},"vendor":{"show":false,"position":"above_product_title","styles":{"color":"#111827"}},"compareAtPrice":{"show":false,"position":"right_of_price","styles":{"color":"#b91c1c"}},"sku":{"show":false,"styles":{"color":"#111827"}},"totalPrice":{"show":false,"position":"bottom","styles":{"color":"#111827","fontSize":"20px"}},"formatPrice":{"type":"amount_without_currency"},"quantityWidget":{"show":false,"styles":{}},"variantSelector":{"hide":false,"type":"select","styles":{}}}},"notificationPopup":{"placement":"left_top","duration":3000,"effect":{"type":""},"hideOnAddRemoveItemToWishlist":false,"hideOnAddRemoveItemToCart":false,"showPopupReminder":false,"numberProductsPopupReminder":1,"showNotificationReminder":false,"minDaysShowPopupReminder":2,"minDaysReShowPopupReminder":2,"showPopupReminderInProductPage":true,"stylesToast":{"backgroundColor":"#ffffff","colorTitle":"#000000","colorMessage":"#000000","colorClose":"#000000"},"stylesReminder":{"backgroundColor":"#ffffff","shadowColor":"#000000","backgroundColorHeader":"#000000","colorHeader":"#ffffff","colorProductTitle":"#000000","backgroundButton":"#000000","colorButton":"#ffffff"}},"eventNotification":{"enable":false,"saleEventProducts":[],"priceEventProducts":[],"inventoryEventProducts":[],"settings":{"useImage":false,"useIcon":false,"useGreeting":false,"requireInteraction":false,"imageType":"default","iconType":"default","imageUpload":null,"iconUpload":null,"quietTime":{"enable":false,"start":"22:00","end":"08:00","timezone":"UTC+0"},"batching":{"enable":false},"saleEventsSchedule":{"mode":"immediately","delay":0,"cooldown":{"enable":false,"duration":3600}},"priceEventsSchedule":{"mode":"immediately","delay":0,"cooldown":{"enable":false,"duration":3600}},"inventoryEventsSchedule":{"mode":"immediately","delay":0,"cooldown":{"enable":false,"duration":3600}}},"saleOn":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"saleOff":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"saleDeeper":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"saleShallower":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"priceDrop":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"priceRise":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"outStock":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"inStock":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"}},"productPage":{"insertType":"manually","buttonPosition":"beforebegin","floatingButtonPosition":"bottom_right","insertSelector":"","wishlistButton":{"fullWidth":true,"showLabel":true,"showNumberActivities":false,"icon":{"color":"#111111","addedColor":"#111111"},"styles":{"borderWidth":"1px","borderColor":"#AC9669","borderStyle":"solid","borderRadius":"15px","backgroundColor":"#ffffff","color":"#111111","margin":"","padding":"10px"},"animation":{"canUse":false,"enable":false,"type":"animation-sw-shake","disableWhenAdded":true,"interval":"20s"}}},"productCard":{"insertType":"manually","buttonPosition":"right_top","childPosition":"last_child","insertSelector":"","wishlistButton":{"fullWidth":false,"showLabel":false,"showNumberActivities":false,"icon":{"color":"#FF0000","addedColor":"#ffffff","backgroundColor":"transparent","addedBackgroun
19153dColor":"transparent"},"styles":{"borderWidth":"1px","borderColor":"#e5e7eb","borderStyle":"solid","borderRadius":"8px","backgroundColor":"#111111","color":"#ffffff","margin":"","padding":"10px"},"animation":{"canUse":false,"enable":false,"type":"animation-sw-shake","disableWhenAdded":true,"interval":"20s"}}}},"version":"1.0.0","createdAt":"2026-03-26T16:11:31.533Z","updatedAt":"2026-03-30T07:27:48.374Z"},{"id":"42723","storeId":11604,"themeId":"191642468698","settings":{"general":{"pages":{"wishlistDetails":"","shareWishlist":""},"addToCartButtonStyles":{"borderRadius":"25px","backgroundColor":"#000000","color":"#ffffff"},"redirectToPage":false,"afterAddedItemToCartBehavior":"redirect_cart_page","afterAddedItemToCartBehaviorCustomUrl":"","customer":{"allowGuest":true,"useLoginPopup":false,"redirectLoginPage":false,"syncLocalToServer":true,"tagsMode":"all","tags":[]},"allowAddMultipleVariants":false,"icons":{"loading":{"type":"icon_5","custom":null,"color":"#000000"},"add":{"type":"icon_2","custom":null,"color":"#000000","backgroundColor":"transparent","buttonBackgroundColor":"transparent"},"added":{"type":"icon_1","custom":null,"color":"#FF0000","backgroundColor":"transparent","buttonBackgroundColor":"transparent"}},"sharing":{"socialList":["facebook","twitter","pinterest","email","copy_link"]}},"detailsButton":{"itemsCount":{"show":false,"hideWhenEmpty":true,"color":{"hex":"#fff","alpha":1},"bgColor":{"hex":"#FF0001","alpha":1}},"type":"floating","selectorQueries":[],"afterClick":"redirect_to_page","showLabel":true,"styles":{"borderRadius":"25px","backgroundColor":"#000000","color":"#ffffff"},"placement":"bottom_right","icon":{"type":"icon_2","color":"#FF0000","custom":null},"animation":{"canUse":false,"enable":false,"type":"animation-sw-shake","disableWhenEmpty":true,"interval":"20s"},"imageFitType":"cover","otherInfo":{"price":{"styles":{"color":"#000000"}},"vendor":{"show":false,"position":"above_product_title","styles":{"color":"#000000"}},"compareAtPrice":{"show":false,"position":"right_of_price","styles":{"color":"#FF0000"}},"totalPrice":{"show":false,"position":"bottom","styles":{"color":"#000000","fontSize":"20px"}},"formatPrice":{"type":"amount_without_currency"}}},"notificationPopup":{"placement":"left_top","duration":3000,"effect":{"type":""},"hideOnAddRemoveItemToWishlist":false,"hideOnAddRemoveItemToCart":false,"showPopupReminder":false,"numberProductsPopupReminder":1,"showNotificationReminder":false,"minDaysShowPopupReminder":2,"minDaysReShowPopupReminder":2,"showPopupReminderInProductPage":true,"stylesToast":{"backgroundColor":"#ffffff","colorTitle":"#000000","colorMessage":"#000000","colorClose":"#000000"},"stylesReminder":{"backgroundColor":"#ffffff","shadowColor":"#000000","backgroundColorHeader":"#000000","colorHeader":"#ffffff","colorProductTitle":"#000000","backgroundButton":"#000000","colorButton":"#ffffff"}},"eventNotification":{"enable":false,"saleEventProducts":[],"priceEventProducts":[],"inventoryEventProducts":[],"settings":{"useImage":false,"useIcon":false,"useGreeting":false,"requireInteraction":false,"imageType":"default","iconType":"default","imageUpload":null,"iconUpload":null,"quietTime":{"enable":false,"start":"22:00","end":"08:00","timezone":"UTC+0"},"batching":{"enable":false},"saleEventsSchedule":{"mode":"immediately","delay":0,"cooldown":{"enable":false,"duration":3600}},"priceEventsSchedule":{"mode":"immediately","delay":0,"cooldown":{"enable":false,"duration":3600}},"inventoryEventsSchedule":{"mode":"immediately","delay":0,"cooldown":{"enable":false,"duration":3600}}},"saleOn":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"saleOff":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"saleDeeper":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"saleShallower":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"priceDrop":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"priceRise":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"outStock":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"inStock":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"}}
19153,"productPage":{"insertType":"","buttonPosition":"","insertSelector":"","wishlistButton":{"fullWidth":true,"showLabel":true,"showNumberActivities":false,"icon":{"color":"#FF0000","addedColor":"#ffffff"},"styles":{"borderWidth":"4px","borderColor":"#000000","borderStyle":"inherit","borderRadius":"25px","backgroundColor":"#000000","color":"#ffffff","margin":"10px 0px","padding":"10px"},"animation":{"canUse":false,"enable":false,"type":"animation-sw-shake","disableWhenAdded":true,"interval":"20s"}}},"productCard":{"insertType":"manually","buttonPosition":"right_top","childPosition":"last_child","insertSelector":"","wishlistButton":{"fullWidth":false,"showLabel":false,"showNumberActivities":false,"icon":{"color":"#FF0000","addedColor":"#ffffff","backgroundColor":"transparent","addedBackgroundColor":"transparent"},"styles":{"borderWidth":"4px","borderColor":"#000000","borderStyle":"inherit","borderRadius":"25px","backgroundColor":"#000000","color":"#ffffff","margin":"","padding":"10px"},"animation":{"canUse":false,"enable":false,"type":"animation-sw-shake","disableWhenAdded":true,"interval":"20s"}}}},"version":"1.0.0","createdAt":"2026-01-29T17:40:09.808Z","updatedAt":"2026-03-09T11:12:31.612Z"},{"id":"41853","storeId":11604,"themeId":"190369366362","settings":{"general":{"pages":{"wishlistDetails":"","shareWishlist":""},"addToCartButtonStyles":{"borderRadius":"25px","backgroundColor":"#000000","color":"#ffffff"},"redirectToPage":false,"afterAddedItemToCartBehavior":"redirect_cart_page","afterAddedItemToCartBehaviorCustomUrl":"","customer":{"allowGuest":true,"useLoginPopup":false,"redirectLoginPage":false,"syncLocalToServer":true,"tagsMode":"all","tags":[]},"allowAddMultipleVariants":false,"icons":{"loading":{"type":"icon_5","custom":null,"color":"#000000"},"add":{"type":"icon_2","custom":null,"color":"#111111","backgroundColor":"transparent","buttonBackgroundColor":"transparent"},"added":{"type":"icon_1","custom":null,"color":"#111111","backgroundColor":"transparent","buttonBackgroundColor":"transparent"}},"sharing":{"socialList":["facebook","twitter","pinterest","email","copy_link"]}},"detailsButton":{"itemsCount":{"show":false,"hideWhenEmpty":true,"color":{"hex":"#fff","alpha":1},"bgColor":{"hex":"#FF0001","alpha":1}},"type":"header_icon","selectorQueries":[],"afterClick":"redirect_to_page","showLabel":true,"styles":{"borderRadius":"25px","backgroundColor":"#000000","color":"#ffffff"},"placement":"bottom_right","icon":{"type":"icon_2","color":"#111111","custom":null},"animation":{"canUse":false,"enable":false,"type":"animation-sw-shake","disableWhenEmpty":true,"interval":"20s"},"imageFitType":"cover","otherInfo":{"price":{"styles":{"color":"#111111"}},"vendor":{"show":false,"position":"above_product_title","styles":{"color":"#000000"}},"compareAtPrice":{"show":false,"position":"right_of_price","styles":{"color":"#FF0000"}},"totalPrice":{"show":false,"position":"bottom","styles":{"color":"#000000","fontSize":"20px"}},"formatPrice":{"type":"amount_without_currency"}}},"notificationPopup":{"placement":"left_top","duration":3000,"effect":{"type":""},"hideOnAddRemoveItemToWishlist":false,"hideOnAddRemoveItemToCart":false,"showPopupReminder":false,"numberProductsPopupReminder":1,"showNotificationReminder":false,"minDaysShowPopupReminder":2,"minDaysReShowPopupReminder":2,"showPopupReminderInProductPage":true,"stylesToast":{"backgroundColor":"#ffffff","colorTitle":"#000000","colorMessage":"#000000","colorClose":"#000000"},"stylesReminder":{"backgroundColor":"#ffffff","shadowColor":"#000000","backgroundColorHeader":"#000000","colorHeader":"#ffffff","colorProductTitle":"#000000","backgroundButton":"#000000","colorButton":"#ffffff"}},"eventNotification":{"enable":false,"saleEventProducts":[],"priceEventProducts":[],"inventoryEventProducts":[],"settings":{"useImage":false,"useIcon":false,"useGreeting":false,"requireInteraction":false,"imageType":"default","iconType":"default","imageUpload":null,"iconUpload":null},"saleOn":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"saleOff":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"saleDeeper":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"saleShallower":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"priceDrop":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"priceRise":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"outStock":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"},"inStock":{"enable":false,"products":[],"text_color":"#ffffff","background_color":"#000000"}}
19153,"productPage":{"insertType":"extension","buttonPosition":"","insertSelector":"","wishlistButton":{"fullWidth":true,"showLabel":true,"showNumberActivities":false,"icon":{"color":"#111111","addedColor":"#111111"},"styles":{"borderWidth":"1px","borderColor":"#AC9669","borderStyle":"solid","borderRadius":"15px","backgroundColor":"#ffffff","color":"#111111","margin":"","padding":"10px"},"animation":{"canUse":false,"enable":false,"type":"animation-sw-shake","disableWhenAdded":true,"interval":"20s"}}},"productCard":{"insertType":"manually","buttonPosition":"right_top","childPosition":"first_child","insertSelector":"","wishlistButton":{"fullWidth":false,"showLabel":false,"showNumberActivities":false,"icon":{"color":"#FF0000","addedColor":"#ffffff","backgroundColor":"transparent","addedBackgroundColor":"transparent"},"styles":{"borderWidth":"4px","borderColor":"#000000","borderStyle":"inherit","borderRadius":"25px","backgroundColor":"#000000","color":"#ffffff","margin":"","padding":"10px"},"animation":{"canUse":false,"enable":false,"type":"animation-sw-shake","disableWhenAdded":true,"interval":"20s"}}}},"version":"1.0.0","createdAt":"2026-01-14T12:32:27.443Z","updatedAt":"2026-03-09T11:12:42.202Z"}], "storeSettings": null, "localesInfo": [{"name":"Afrikaans","locale":"af","version":3},{"name":"Akan","locale":"ak","version":3},{"name":"Amharic","locale":"am","version":3},{"name":"Arabic","locale":"ar","version":3},{"name":"Assamese","locale":"as","version":3},{"name":"Azerbaijani","locale":"az","version":3},{"name":"Belarusian","locale":"be","version":3},{"name":"Bulgarian","locale":"bg","version":3},{"name":"Bambara","locale":"bm","version":3},{"name":"Bangla","locale":"bn","version":3},{"name":"Tibetan","locale":"bo","version":3},{"name":"Breton","locale":"br","version":3},{"name":"Bosnian","locale":"bs","version":3},{"name":"Catalan","locale":"ca","version":3},{"name":"Chechen","locale":"ce","version":3},{"name":"Central Kurdish","locale":"ckb","version":3},{"name":"Czech","locale":"cs","version":3},{"name":"Welsh","locale":"cy","version":3},{"name":"Danish","locale":"da","version":3},{"name":"German","locale":"de","version":3},{"name":"Dzongkha","locale":"dz","version":3},{"name":"Ewe","locale":"ee","version":3},{"name":"Greek","locale":"el","version":3},{"name":"English","locale":"en","version":3},{"name":"Esperanto","locale":"eo","version":3},{"name":"Spanish","locale":"es","version":3},{"name":"Estonian","locale":"et","version":3},{"name":"Basque","locale":"eu","version":3},{"name":"Persian","locale":"fa","version":3},{"name":"Fulah","locale":"ff","version":3},{"name":"Finnish","locale":"fi","version":3},{"name":"Filipino","locale":"fil","version":3},{"name":"Faroese","locale":"fo","version":3},{"name":"French","locale":"fr","version":3},{"name":"Western Frisian","locale":"fy","version":3},{"name":"Irish","locale":"ga","version":3},{"name":"Scottish Gaelic","locale":"gd","version":3},{"name":"Galician","locale":"gl","version":3},{"name":"Gujarati","locale":"gu","version":3},{"name":"Manx","locale":"gv","version":3},{"name":"Hausa","locale":"ha","version":3},{"name":"Hebrew","locale":"he","version":3},{"name":"Hindi","locale":"hi","version":3},{"name":"Croatian","locale":"hr","version":3},{"name":"Hungarian","locale":"hu","version":3},{"name":"Armenian","locale":"hy","version":3},{"name":"Interlingua","locale":"ia","version":3},{"name":"Indonesian","locale":"id","version":3},{"name":"Igbo","locale":"ig","version":3},{"name":"Sichuan Yi","locale":"ii","version":3},{"name":"Icelandic","locale":"is","version":3},{"name":"Italian","locale":"it","version":3},{"name":"Japanese","locale":"ja","version":3},{"name":"Javanese","locale":"jv","version":3},{"name":"Georgian","locale":"ka","version":3},{"name":"Kikuyu","locale":"ki","version":3},{"name":"Kazakh","locale":"kk","version":3},{"name":"Kalaallisut","locale":"kl","version":3},{"name":"Khmer","locale":"km","version":3},{"name":"Kannada","locale":"kn","version":3},{"name":"Korean","locale":"ko","version":3},{"name":"Kashmiri","locale":"ks","version":3},{"name":"Kurdish","locale":"ku","version":3},{"name":"Cornish","locale":"kw","version":3},{"name":"Kyrgyz","locale":"ky","version":3},{"name":"Luxembourgish","locale":"lb","version":3},{"name":"Ganda","locale":"lg","version":3},{"name":"Lingala","locale":"ln","version":3},{"name":"Lao","locale":"lo","version":3},{"name":"Lithuanian","locale":"lt","version":3}
19153,{"name":"Luba-Katanga","locale":"lu","version":3},{"name":"Latvian","locale":"lv","version":3},{"name":"Malagasy","locale":"mg","version":3},{"name":"MÄori","locale":"mi","version":3},{"name":"Macedonian","locale":"mk","version":3},{"name":"Malayalam","locale":"ml","version":3},{"name":"Mongolian","locale":"mn","version":3},{"name":"Marathi","locale":"mr","version":3},{"name":"Malay","locale":"ms","version":3},{"name":"Maltese","locale":"mt","version":3},{"name":"Burmese","locale":"my","version":3},{"name":"Norwegian (BokmÃ¥l)","locale":"nb","version":3},{"name":"North Ndebele","locale":"nd","version":3},{"name":"Nepali","locale":"ne","version":3},{"name":"Dutch","locale":"nl","version":3},{"name":"Norwegian Nynorsk","locale":"nn","version":3},{"name":"Norwegian","locale":"no","version":3},{"name":"Oromo","locale":"om","version":3},{"name":"Odia","locale":"or","version":3},{"name":"Ossetic","locale":"os","version":3},{"name":"Punjabi","locale":"pa","version":3},{"name":"Polish","locale":"pl","version":3},{"name":"Pashto","locale":"ps","version":3},{"name":"Portuguese (Brazil)","locale":"pt-BR","version":3},{"name":"Portuguese (Portugal)","locale":"pt-PT","version":3},{"name":"Quechua","locale":"qu","version":3},{"name":"Romansh","locale":"rm","version":3},{"name":"Rundi","locale":"rn","version":3},{"name":"Romanian","locale":"ro","version":3},{"name":"Russian","locale":"ru","version":3},{"name":"Kinyarwanda","locale":"rw","version":3},{"name":"Sanskrit","locale":"sa","version":3},{"name":"Sardinian","locale":"sc","version":3},{"name":"Sindhi","locale":"sd","version":3},{"name":"Northern Sami","locale":"se","version":3},{"name":"Sango","locale":"sg","version":3},{"name":"Sinhala","locale":"si","version":3},{"name":"Slovak","locale":"sk","version":3},{"name":"Slovenian","locale":"sl","version":3},{"name":"Shona","locale":"sn","version":3},{"name":"Somali","locale":"so","version":3},{"name":"Albanian","locale":"sq","version":3},{"name":"Serbian","locale":"sr","version":3},{"name":"Sundanese","locale":"su","version":3},{"name":"Swedish","locale":"sv","version":3},{"name":"Swahili","locale":"sw","version":3},{"name":"Tamil","locale":"ta","version":3},{"name":"Telugu","locale":"te","version":3},{"name":"Tajik","locale":"tg","version":3},{"name":"Thai","locale":"th","version":3},{"name":"Tigrinya","locale":"ti","version":3},{"name":"Turkmen","locale":"tk","version":3},{"name":"Tongan","locale":"to","version":3},{"name":"Turkish","locale":"tr","version":3},{"name":"Tatar","locale":"tt","version":3},{"name":"Uyghur","locale":"ug","version":3},{"name":"Ukrainian","locale":"uk","version":3},{"name":"Urdu","locale":"ur","version":3},{"name":"Uzbek","locale":"uz","version":3},{"name":"Vietnamese","locale":"vi","version":3},{"name":"Wolof","locale":"wo","version":3},{"name":"Xhosa","locale":"xh","version":3},{"name":"Yiddish","locale":"yi","version":3},{"name":"Yoruba","locale":"yo","version":3},{"name":"Chinese (Simplified)","locale":"zh-CN","version":3},{"name":"Chinese (Traditional)","locale":"zh-TW","version":3},{"name":"Zulu","locale":"zu","version":3}], "plan": { "type": "basic", "st_app_plan": "basic", "isFreePlan": false, "isBasicPlan": true, "isPremiumPlan": false }, "productJSON": {"id":11020550406490,"title":"Aprés Mini Nova Led Lamp","handle":"apres-nova-led-lamp-mini","description":"\u003cp\u003e\u003cstrong\u003eHigh Standards. Mini Nova.\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eThe Mini Nova LED Lamp brings professional Aprés performance to a compact, salon-ready design at $99.99. Built with 45 premium dual-wavelength LEDs, it delivers broad 365nm + 405nm coverage to support fast, even curing across compatible gel systems.\u003c\/p\u003e\n\u003cp\u003eChoose from 30-, 60-, or 90-second curing times, or activate Low Heat mode to reduce power output by 65% and help minimize heat spikes. Automatic hand sensing starts a 60-second cure as soon as a hand enters the lamp, keeping services moving with one less button to press.\u003c\/p\u003e\n\u003cp\u003eA removable gold-colored metal base simplifies cleaning, while the UV-coated exterior resists scratches and acetone exposure from everyday salon use. Compact, lightweight, and equipped with a built-in handle, Mini Nova fits naturally into first stations, and growing salons.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eProfessional essentials. A more attainable investment.\u003cbr\u003e\u003cbr\u003e\u003cem\u003eFor Professional Use Only\u003cbr\u003e\u003cbr\u003e\u003c\/em\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003ch3 class=\"text-[20px] leading-[26px] uppercase !font-elza !text-left !text-base !normal-case\"\u003eBenefits\u003c\/h3\u003e\n\u003cdiv\u003e\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"22\" height=\"22\" viewbox=\"0 0 22 22\" fill=\"none\" class=\"w-3 h-3\"\u003e\u003cpath d=\"M21.1025 10C21.6067 10.0513 22 10.4774 22 10.9951C22 11.5128 21.6067 11.9389 21.1025 11.9902L21 11.9951H1C0.447715 11.9951 0 11.5474 0 10.9951C0 10.4428 0.447715 9.99512 1 9.99512H21L21.1025 10Z\" fill=\"black\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"overflow-hidden mb-[20px]\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"prose prose-sm md:prose-base text-[#191919] font-elza\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eProfessional dual-wavelength curing:\u003c\/strong\u003e 45 premium LEDs deliver broad 365nm + 405nm coverage for fast, even curing across compatible gel systems.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eThree standard cure times:\u003c\/strong\u003e Choose from 30-, 60-, or 90-second settings to accommodate different services and formulas.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLow Heat comfort:\u003c\/strong\u003e L30, L60, and L90 modes reduce power output by 65% to help minimize heat spikes.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTouch-free efficiency:\u003c\/strong\u003e Automatic hand sensing begins a 60-second cure without requiring a button press.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBuilt for salon realities:\u003c\/strong\u003e The UV-coated exterior resists scratches and acetone exposure during everyday professional use.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCompact station footprint:\u003c\/strong\u003e A smaller, lightweight design leaves more room for the tools and products your services require.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSteady corded performance:\u003c\/strong\u003e Consistent 36W output without pausing to re
19153charge.\u003cbr\u003e\u003cbr\u003e\n\u003ch3 class=\"text-[20px] leading-[26px] uppercase !font-elza !text-left !text-base !normal-case\"\u003eApplications\u003c\/h3\u003e\n\u003cdiv\u003e\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"22\" height=\"22\" viewbox=\"0 0 22 22\" fill=\"none\" class=\"w-3 h-3\"\u003e\u003cpath d=\"M21.1025 10C21.6067 10.0513 22 10.4774 22 10.9951C22 11.5128 21.6067 11.9389 21.1025 11.9902L21 11.9951H1C0.447715 11.9951 0 11.5474 0 10.9951C0 10.4428 0.447715 9.99512 1 9.99512H21L21.1025 10Z\" fill=\"black\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"overflow-hidden mb-[20px]\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"prose prose-sm md:prose-base text-[#191919] font-elza\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eSTANDARD CURING\u003c\/strong\u003e\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003eConnect the Mini Nova to the included power adapter and switch on the lamp.\u003c\/li\u003e\n\u003cli\u003ePlace the client's hand fully inside the lamp, following the hand-placement guide for even light exposure.\u003c\/li\u003e\n\u003cli\u003eSelect the appropriate 30-, 60-, or 90-second timer according to the gel product's curing instructions.\u003c\/li\u003e\n\u003cli\u003eRemove the hand once the curing cycle is complete.\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp\u003e\u003cstrong\u003eAUTOMATIC SENSING MODE\u003c\/strong\u003e\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003eInsert the hand fully into the lamp.\u003c\/li\u003e\n\u003cli\u003eThe sensor will automatically begin a 60-second curing cycle.\u003c\/li\u003e\n\u003cli\u003eRemove the hand when the cycle is complete.\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp\u003e\u003cstrong\u003eLOW HEAT MODE\u003c\/strong\u003e\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003eSelect LOW HEAT with the desired 30-, 60-, or 90-second timer.\u003c\/li\u003e\n\u003cli\u003eThe display will show L30, L60, or L90.\u003c\/li\u003e\n\u003cli\u003eLow Heat mode reduces power output by 65% to help minimize heat spikes during curing.\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp\u003e\u003cstrong\u003eIMPORTANT:\u003c\/strong\u003e Low Heat mode is designed to improve client comfort. Always follow the cure time specified for the gel product being used.\u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch3 class=\"text-[20px] leading-[26px] uppercase !font-elza !text-left !text-base !normal-case\"\u003eRecommendations\u003c\/h3\u003e\n\u003cdiv\u003e\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"22\" height=\"22\" viewbox=\"0 0 22 22\" fill=\"none\" class=\"w-3 h-3\"\u003e\u003cpath d=\"M21.1025 10C21.6067 10.0513 22 10.4774 22 10.9951C22 11.5128 21.6067 11.9389 21.1025 11.9902L21 11.9951H1C0.447715 11.9951 0 11.5474 0 10.9951C0 10.4428 0.447715 9.99512 1 9.99512H21L21.1025 10Z\" fill=\"black\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"overflow-hidden mb-[20px]\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"prose prose-sm md:prose-base text-[#191919] font-elza\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eAlways follow the curing instructions provided with the specific gel system or product.\u003c\/li\u003e\n\u003cli\u003ePlace the entire hand inside the lamp and confirm that all five nails receive direct light exposure.\u003c\/li\u003e\n\u003cli\u003eUse Low Heat mode for heat-sensitive clients or gels that may produce a stronger exothermic reaction.\u003c\/li\u003e\n\u003cli\u003eKeep the lamp connected to its included adapter during use. Mini Nova is corded and does not contain a rechargeable battery.\u003c\/li\u003e\n\u003cli\u003eDisconnect the lamp from power before cleaning.\u003c\/li\u003e\n\u003cli\u003eClean only according to the product manual. Do not immerse the lamp, adapter, or power cord in liquid.\u003c\/li\u003e\n\u003cli\u003eStore in a clean, dry environment away from excessive heat and direct sunlight.\u003c\/li\u003e\n\u003cli\u003eRegister the lamp at apresnail.com\/warranty-registration to activate the applicable limited warranty.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cbr\u003e\u003cstrong\u003eProduct:\u003c\/strong\u003e\u003cspan\u003e Mini Nova LED Lamp\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eAvailable Colors:\u003c\/strong\u003e\u003cspan\u003e White and Black\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eDimensions:\u003c\/strong\u003e\u003cspan\u003e 200 à 239 à 87 mm\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eWeight:\u003c\/strong\u003e\u003cspan\u003e 1.762 lbs\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003ePower Output:\u003c\/strong\u003e\u003cspan\u003e 36W\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eLED Array:\u003c\/strong\u003e\u003cspan\u003e 45 premium LED bulbs\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eWavelengths:\u003c\/strong\u003e\u003cspan\u003e 365nm + 405nm\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eStandard Timers:\u003c\/strong\u003e\u003cspan\u003e 30 \/ 60 \/ 90 seconds\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eLow Heat Timers:\u003c\/strong\u003e\u003cspan\u003e L30 \/ L60 \/ L90\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eLow Heat Output:\u003c\/strong\u003e\u003cspan\u003e 65% reduced power\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eAutomatic Sensor:\u003c\/strong\u003e\u003cspan\u003e 60-second curing cycle\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eDisplay:\u003c\/strong\u003e\u003cspan\u003e Digital touch display\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003ePower Type:\u003c\/strong\u003e\u003cspan\u003e Corded\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eAdapter Output:\u003c\/strong\u003e\u003cspan\u003e 24V \/ 1.5A\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eAC Input:\u003c\/strong\u003e\u003cspan\u003e 100â240V, 50\/60Hz\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eExterior Finish:\u003c\/strong\u003e\u003cspan\u003e UV-coated; scratch- and acetone-resistant\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eCertifications:\u003c\/strong\u003e\u003cspan\u003e CE and RoHS\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eAdapter Certification:\u003c\/strong\u003e\u003cspan\u003e UL-certified\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eWarranty:\u003c\/strong\u003e\u003cspan\u003e One-year limited warranty; registration required\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eUse:\u003c\/strong\u003e\u003cspan\u003e Professional use only\u003c\/span\u003e\u003cbr\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cem\u003e\u003c\/em\u003e\u003c\/strong\u003e\u003cbr\u003e\u003c\/p\u003e","published_at":"2026-10-08T11:13:12+01:00","created_at":"2026-10-06T16:07:43+01:00","vendor":"APRES","type":"","tags":["New In"],"price":9995,"price_min":9995,"price_max":9995,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":54916494557530,"title":"Black","option1":"Black","option2":null,"option3":null,"sku":"AP-NOVA-MINI-B","requires_shipping":true,"taxable":true,"featured_image":{"id":75001196314970,"product_id":11020550406490,"position":1,"created_at":"2026-10-06T16:12:21+01:00","updated_at":"2026-10-06T16:12:24+01:00","alt":null,"width":2000,"height":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544","variant_ids":[54916494557530]},"available":true,"name":"Aprés Mini Nova Led Lamp - Black","public_title":"Black","options":["Black"],"price":9995,"weight":1100,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":62492790292826,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":54916494590298,"title":"White","option1":"White","option2":null,"option3":null,"sku":"AP-NOVA-MINI-W","requires_shipping":true,"taxable":true,"featured_image":{"id":75001201885530,"product_id":11020550406490,"position":7,"created_at":"2026-10-06T16:13:23+01:00","updated_at":"2026-10-06T16:13:26+01:00","alt":null,"width":2000,"height":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_White-01.jpg?v=1791299606","variant_ids":[54916494590298]},"available":true,"name":"Aprés Mini Nova Led Lamp - White","public_title":"White","options":["White"],"price":9995,"weight":1100,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":62492795863386,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_White-01.jpg?v=1791299606"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544","\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545","\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545","\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545","\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546","\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545","\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_White-01.jpg?v=1791299606","\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545","\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544"],"featured_image":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544","options":["Colour"],"media":[{"alt":null,"id":62492790292826,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-01_42c26b96-b29c-4fc0-b200-d0819dd343db.jpg?v=1791299544","width":2000},{"alt":null,"id":62492790358362,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-03_84d8a61e-a804-40d2-bf85-d0171ee6bb0a.jpg?v=1791299545","width":2000},{"alt":null,"id":62492790423898,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-05_016ed5ad-faee-4651-921c-27fd1752887b.jpg?v=1791299545","width":2000},{"alt":null,"id":62492790489434,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-07_d3ec6f52-dd94-4aa0-b0d1-acf171211853.jpg?v=1791299545","width":2000},{"alt":null,"id":62492790522202,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-02_5dc8cdd5-66c4-4d21-a840-c83697dbf979.jpg?v=1791299546","width":2000},{"alt":null,"id":62492790456666,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-04_39823d4c-c5c4-4b50-87e2-262ecfdfc335.jpg?v=1791299545","width":2000},{"alt":null,"id":62492795863386,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_White-01.jpg?v=1791299606"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_White-01.jpg?v=1791299606","width":2000},{"alt":null,"id":62492790325594,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-08_c2321b93-74d3-412d-a5e0-43348a8363ba.jpg?v=1791299545","width":2000},{"alt":null,"id":62492790260058,"position":9,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/www.tnbl.co.uk\/cdn\/shop\/files\/Mini_Nova_LED_Lamp_-_Listing_Photos_Black-06_80a3148a-0cf1-4941-b1c3-48622c8d0156.jpg?v=1791299544","width":2000}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003e\u003cstrong\u003eHigh Standards. Mini Nova.\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eThe Mini Nova LED Lamp brings professional Aprés performance to a compact, salon-ready design at $99.99. Built with 45 premium dual-wavelength LEDs, it delivers broad 365nm + 405nm coverage to supp
19153ort fast, even curing across compatible gel systems.\u003c\/p\u003e\n\u003cp\u003eChoose from 30-, 60-, or 90-second curing times, or activate Low Heat mode to reduce power output by 65% and help minimize heat spikes. Automatic hand sensing starts a 60-second cure as soon as a hand enters the lamp, keeping services moving with one less button to press.\u003c\/p\u003e\n\u003cp\u003eA removable gold-colored metal base simplifies cleaning, while the UV-coated exterior resists scratches and acetone exposure from everyday salon use. Compact, lightweight, and equipped with a built-in handle, Mini Nova fits naturally into first stations, and growing salons.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eProfessional essentials. A more attainable investment.\u003cbr\u003e\u003cbr\u003e\u003cem\u003eFor Professional Use Only\u003cbr\u003e\u003cbr\u003e\u003c\/em\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003ch3 class=\"text-[20px] leading-[26px] uppercase !font-elza !text-left !text-base !normal-case\"\u003eBenefits\u003c\/h3\u003e\n\u003cdiv\u003e\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"22\" height=\"22\" viewbox=\"0 0 22 22\" fill=\"none\" class=\"w-3 h-3\"\u003e\u003cpath d=\"M21.1025 10C21.6067 10.0513 22 10.4774 22 10.9951C22 11.5128 21.6067 11.9389 21.1025 11.9902L21 11.9951H1C0.447715 11.9951 0 11.5474 0 10.9951C0 10.4428 0.447715 9.99512 1 9.99512H21L21.1025 10Z\" fill=\"black\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"overflow-hidden mb-[20px]\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"prose prose-sm md:prose-base text-[#191919] font-elza\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eProfessional dual-wavelength curing:\u003c\/strong\u003e 45 premium LEDs deliver broad 365nm + 405nm coverage for fast, even curing across compatible gel systems.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eThree standard cure times:\u003c\/strong\u003e Choose from 30-, 60-, or 90-second settings to accommodate different services and formulas.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLow Heat comfort:\u003c\/strong\u003e L30, L60, and L90 modes reduce power output by 65% to help minimize heat spikes.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTouch-free efficiency:\u003c\/strong\u003e Automatic hand sensing begins a 60-second cure without requiring a button press.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBuilt for salon realities:\u003c\/strong\u003e The UV-coated exterior resists scratches and acetone exposure during everyday professional use.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCompact station footprint:\u003c\/strong\u003e A smaller, lightweight design leaves more room for the tools and products your services require.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSteady corded performance:\u003c\/strong\u003e Consistent 36W output without pausing to recharge.\u003cbr\u003e\u003cbr\u003e\n\u003ch3 class=\"text-[20px] leading-[26px] uppercase !font-elza !text-left !text-base !normal-case\"\u003eApplications\u003c\/h3\u003e\n\u003cdiv\u003e\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"22\" height=\"22\" viewbox=\"0 0 22 22\" fill=\"none\" class=\"w-3 h-3\"\u003e\u003cpath d=\"M21.1025 10C21.6067 10.0513 22 10.4774 22 10.9951C22 11.5128 21.6067 11.9389 21.1025 11.9902L21 11.9951H1C0.447715 11.9951 0 11.5474 0 10.9951C0 10.4428 0.447715 9.99512 1 9.99512H21L21.1025 10Z\" fill=\"black\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"overflow-hidden mb-[20px]\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"prose prose-sm md:prose-base text-[#191919] font-elza\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eSTANDARD CURING\u003c\/strong\u003e\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003eConnect the Mini Nova to the included power adapter and switch on the lamp.\u003c\/li\u003e\n\u003cli\u003ePlace the client's hand fully inside the lamp, following the hand-placement guide for even light exposure.\u003c\/li\u003e\n\u003cli\u003eSelect the appropriate 30-, 60-, or 90-second timer according to the gel product's curing instructions.\u003c\/li\u003e\n\u003cli\u003eRemove the hand once the curing cycle is complete.\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp\u003e\u003cstrong\u003eAUTOMATIC SENSING MODE\u003c\/strong\u003e\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003eInsert the hand fully into the lamp.\u003c\/li\u003e\n\u003cli\u003eThe sensor will automatically begin a 60-second curing cycle.\u003c\/li\u003e\n\u003cli\u003eRemove the hand when the cycle is complete.\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp\u003e\u003cstrong\u003eLOW HEAT MODE\u003c\/strong\u003e\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003eSelect LOW HEAT with the desired 30-, 60-, or 90-second timer.\u003c\/li\u003e\n\u003cli\u003eThe display will show L30, L60, or L90.\u003c\/li\u003e\n\u003cli\u003eLow Heat mode reduces power output by 65% to help minimize heat spikes during curing.\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp\u003e\u003cstrong\u003eIMPORTANT:\u003c\/strong\u003e Low Heat mode is designed to improve client comfort. Always follow the cure time specified for the gel product being used.\u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch3 class=\"text-[20px] leading-[26px] uppercase !font-elza !text-left !text-base !normal-case\"\u003eRecommendations\u003c\/h3\u003e\n\u003cdiv\u003e\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"22\" height=\"22\" viewbox=\"0 0 22 22\" fill=\"none\" class=\"w-3 h-3\"\u003e\u003cpath d=\"M21.1025 10C21.6067 10.0513 22 10.4774 22 10.9951C22 11.5128 21.6067 11.9389 21.1025 11.9902L21 11.9951H1C0.447715 11.9951 0 11.5474 0 10.9951C0 10.4428 0.447715 9.99512 1 9.99512H21L21.1025 10Z\" fill=\"black\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"overflow-hidden mb-[20px]\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"prose prose-sm md:prose-base text-[#191919] font-elza\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eAlways follow the curing instructions provided with the specific gel system or product.\u003c\/li\u003e\n\u003cli\u003ePlace the entire hand inside the lamp and confirm that all five nails receive direct light exposure.\u003c\/li\u003e\n\u003cli\u003eUse Low Heat mode for heat-sensitive clients or gels that may produce a stronger exothermic reaction.\u003c\/li\u003e\n\u003cli\u003eKeep the lamp connected to its included adapter during use. Mini Nova is corded and does not contain a rechargeable battery.\u003c\/li\u003e\n\u003cli\u003eDisconnect the lamp from power before cleaning.\u003c\/li\u003e\n\u003cli\u003eClean only according to the product manual. Do not immerse the lamp, adapter, or power cord in liquid.\u003c\/li\u003e\n\u003cli\u003eStore in a clean, dry environment away from excessive heat and direct sunlight.\u003c\/li\u003e\n\u003cli\u003eRegister the lamp at apresnail.com\/warranty-registration to activate the applicable limited warranty.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cbr\u003e\u003cstrong\u003eProduct:\u003c\/strong\u003e\u003cspan\u003e Mini Nova LED Lamp\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eAvailable Colors:\u003c\/strong\u003e\u003cspan\u003e White and Black\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eDimensions:\u003c\/strong\u003e\u003cspan\u003e 200 à 239 à 87 mm\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eWeight:\u003c\/strong\u003e\u003cspan\u003e 1.762 lbs\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003ePower Output:\u003c\/strong\u003e\u003cspan\u003e 36W\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eLED Array:\u003c\/strong\u003e\u003cspan\u003e 45 premium LED bulbs\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eWavelengths:\u003c\/strong\u003e\u003cspan\u003e 365nm + 405nm\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eStandard Timers:\u003c\/strong\u003e\u003cspan\u003e 30 \/ 60 \/ 90 seconds\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eLow Heat Timers:\u003c\/strong\u003e\u003cspan\u003e L30 \/ L60 \/ L90\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eLow Heat Output:\u003c\/strong\u003e\u003cspan\u003e 65% reduced power\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eAutomatic Sensor:\u003c\/strong\u003e\u003cspan\u003e 60-second curing cycle\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eDisplay:\u003c\/strong\u003e\u003cspan\u003e Digital touch display\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003ePower Type:\u003c\/strong\u003e\u003cspan\u003e Corded\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eAdapter Output:\u003c\/strong\u003e\u003cspan\u003e 24V \/ 1.5A\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eAC Input:\u003c\/strong\u003e\u003cspan\u003e 100â240V, 50\/60Hz\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eExterior Finish:\u003c\/strong\u003e\u003cspan\u003e UV-coated; scratch- and acetone-resistant\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eCertifications:\u003c\/strong\u003e\u003cspan\u003e CE and RoHS\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eAdapter Certification:\u003c\/strong\u003e\u003cspan\u003e UL-certified\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eWarranty:\u003c\/strong\u003e\u003cspan\u003e One-year limited warranty; registration required\u003c\/span\u003e\u003cbr\u003e\u003cstrong\u003eUse:\u003c\/strong\u003e\u003cspan\u003e Professional use only\u003c\/span\u003e\u003cbr\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cem\u003e\u003c\/em\u003e\u003c\/strong\u003e\u003cbr\u003e\u003c\/p\u003e"}, "strings": { "locale": "en", "version": 3, "isPrimary": true, "accessibility": { "detailsButton": "Open Wishlist Details" }, "shareSocialContent": "Check out some of my favorite things {{link}}", "toast": { "errors": { "requiredLogin": "Please login to continue - \u003ca href='https:\/\/www.tnbl.co.uk\/customer_authentication\/redirect?locale=en\u0026region_country=GB' rel='nofollow' class='st-toast-login-link'\u003eLogin\u003c\/a\u003e", "requiredLoginWithoutLink": null, "noProductsToShare": "No Products to share", "noImageForPinterest": "A product image is required to share on Pinterest", "noWishlistLink": "This item is no longer on your wishlist. Refresh the page if it still appears.", "linkCustomerMismatch": "We couldn't update this wishlist item. Please refresh and try again.", "productNotInCatalog": "This product is no longer available in the store catalog.", "variantLinkMismatch": "This product variant is no longer on your wishlist.", "removeFailed": "Could not remove this item from your wishlist." }, "success": { "add": "Added to Wishlist successfully" }, "productAdded": "Added to Wishlist successfully", "productDeleted": "Deleted from Wishlist successfully", "productAddedCartSuccess": "Added to cart successfully", "productAddedCartFailed": "Failed to add to cart", "loginToKeepAndAccessWishlist": "Log in to keep your wishlist and access it anytime." }, "productCard": { "buttons": { "moreDetails": "More Details", "addToCart": "Add to Cart", "outOfStock": "Out of Stock" } }, "productPage": { "wishlistButton": { "add": "Add to Wishlist", "added": "Added to Wishlist" } }, "likeCount": { "label": "Likes", "tooltip": "[[sw_mb]]count[[sw_me]] shoppers saved this item" }, "guestOptIn": { "title": "Keep these favorites?", "body": "Leave your email so we can save this wishlist for you - and let you know about restocks and price drops.", "emailLabel": "Email", "consentLabel": "Yes, save my email with this wishlist.", "submit": "Save wishlist", "skip": "Not now", "errorEmail"
19153: "Enter a valid email.", "errorConsent": "Please tick the box to continue.", "errorGeneric": "Could not save. Please try again." } } } </script>
19153
19153<script src="https://cdn.shopify.com/extensions/01a11a04-6da5-7ed6-89a8-7dba9a26990f/swishlist-606/assets/st-wishlist-config.js" defer></script>
19153
19153<script> window.SWishlistIconLoaderConfig = { fullIconsScriptUrl: "https:\/\/cdn.shopify.com\/extensions\/01a11a04-6da5-7ed6-89a8-7dba9a26990f\/swishlist-606\/assets\/st-wishlist-icons.js" }; </script>
19153<script> window.SWishlistRuntimeConfig = Object.assign(window.SWishlistRuntimeConfig || {}, {guestOptInScriptUrl: "https:\/\/cdn.shopify.com\/extensions\/01a11a04-6da5-7ed6-89a8-7dba9a26990f\/swishlist-606\/assets\/st-wishlist-guest-opt-in.js" }); </script>
19153<script src="https://cdn.shopify.com/extensions/01a11a04-6da5-7ed6-89a8-7dba9a26990f/swishlist-606/assets/st-wishlist-icons-loader.js" defer></script>
19153<script> window.SWishlistRuntimeConfig = Object.assign(window.SWishlistRuntimeConfig || {}, { wishlistDetailsPageScriptUrl: "https:\/\/cdn.shopify.com\/extensions\/01a11a04-6da5-7ed6-89a8-7dba9a26990f\/swishlist-606\/assets\/st-wishlist-details-page.js" }); </script>
19153
19153<script src="https://cdn.shopify.com/extensions/01a11a04-6da5-7ed6-89a8-7dba9a26990f/swishlist-606/assets/st-wishlist.js" defer></script>
19153 </div>
19153<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
19153 19154</body> 19155</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.