1<!doctype html> 2<html class="no-js" lang="en" dir="ltr"> 3 <head> 4 <meta charset="utf-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 6 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5, viewport-fit=cover"> 7 <meta name="theme-color" content=""> 8 <link rel="canonical" href="https://www.personalwine.com/products/tafida-cabernet-sauvignon"><link rel="icon" type="image/png" href="//www.personalwine.com/cdn/shop/files/personalwine_favicon.png?crop=center&height=32&v=1782160793&width=32"><link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin> 9 <title> 10 Tafida Cabernet Sauvignon | California Cabernet Wine�</title> 11 12 <meta name="description" content="This Tafida California Cabernet Sauvignon boasts notes of plum, blackberry, and blackcurrant. Customize with a label or engraving to create the perfect gift."> 13 14 15 16 17 <link rel="preload" as="font" href="//www.personalwine.com/cdn/fonts/raleway/raleway_n4.2c76ddd103ff0f30b1230f13e160330ff8b2c68a.woff2" type="font/woff2" crossorigin> 18 � 19 <link rel="preload" as="font" href="//www.personalwine.com/cdn/fonts/gilda_display/gildadisplay_n4.7fc5354c47a4970aba18d681449d9611011dd058.woff2" type="font/woff2" crossorigin> 20 � 21 22 23<meta property="og:site_name" content="Personal Wine"> 24<meta property="og:url" content="https://www.personalwine.com/products/tafida-cabernet-sauvignon"> 25<meta property="og:title" content="Tafida Cabernet Sauvignon | California Cabernet Wine"> 26<meta property="og:type" content="product"> 27<meta property="og:description" content="This Tafida California Cabernet Sauvignon boasts notes of plum, blackberry, and blackcurrant. Customize with a label or engraving to create the perfect gift."><meta property="og:image" content="http://www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627"> 28 <meta property="og:image:secure_url" content="https://www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627"> 29 <meta property="og:image:width" content="400"> 30 <meta property="og:image:height" content="1200"><meta property="og:price:amount" content="35.00"> 31 <meta property="og:price:currency" content="USD"><meta name="twitter:site" content="@https://x.com/personalwine"><meta name="twitter:card" content="summary_large_image"> 32<meta name="twitter:title" content="Tafida Cabernet Sauvignon | California Cabernet Wine"> 33<meta name="twitter:description" content="This Tafida California Cabernet Sauvignon boasts notes of plum, blackberry, and blackcurrant. Customize with a label or engraving to create the perfect gift."> 34 35
35<script type="application/ld+json"> 36{ 37 "@context": "https://schema.org", 38 "@type": "BreadcrumbList", 39 "itemListElement": [ 40 {"@type":"ListItem","position":1,"name":"Home","item":"https://www.personalwine.com"}, 41 {"@type":"ListItem","position":2,"name":"Shop","item":"https://www.personalwine.com/collections/all"}, 42 {"@type":"ListItem","position":3,"name":"Tafida Cabernet Sauvignon","item":"https://www.personalwine.com/products/tafida-cabernet-sauvignon"} 43 ] 44} 45</script>
45 46 47
47<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
47<meta name="google-site-verification" content="dP-paFgg6kDZq7E5laoVDQyhoW1PHJxQpNQkJ8gdvHM"> 48<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/77746012381/digital_wallets/dialog"> 49<meta id="in-context-paypal-metadata" data-shop-id="77746012381" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD"> 50<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="buy" href="/cart/47382894444765:1?ucp/version=2026-08-25" payment="com.google.pay dev.shopify.card"><link rel="alternate" type="application/json+oembed" href="https://www.personalwine.com/products/tafida-cabernet-sauvignon.oembed">
51<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=3202777309"></script>
vendor: 1 bytes, line 51
51
52<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":77746012381,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/77746012381","merchantName":"Personal Wine","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Personal Wine","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 52
52
53<script id="shopify-features" type="application/json">{"accessToken":"45bb70830f9e87211c6ce5707f2b325f","betas":["rich-media-storefront-analytics"],"domain":"www.personalwine.com","predictiveSearch":true,"shopId":77746012381,"locale":"en"}</script>
vendor: 1 bytes, line 53
53
54<script>var Shopify = Shopify || {}; 55Shopify.shop = "ku1htv-4a.myshopify.com"; 56Shopify.locale = "en"; 57Shopify.currency = {"active":"USD","rate":"1.0"}; 58Shopify.country = "US"; 59Shopify.theme = {"name":"Twisty: Personalwine LIVE","id":165106385117,"schema_name":"Edge","schema_version":"1.5.0","theme_store_id":null,"role":"main"}; 60Shopify.theme.handle = "null"; 61Shopify.theme.style = {"id":null,"handle":null}; 62Shopify.cdnHost = "www.personalwine.com/cdn"; 63Shopify.routes = Shopify.routes || {}; 64Shopify.routes.root = "/"; 65Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 66Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 67Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 68Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 68
68
69<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 69
69
70<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 70
70
71<script> 72 window.Shopify = window.Shopify || {}; 73 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 74 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 75 window.Shopify.SignInWithShop.eligible = true; 76</script>
vendor: 1 bytes, line 76
76
77<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
vendor: 1 bytes, line 77
77
78<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 78
78
79<script type="module"> 80 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 81 82 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 83 84</script>
vendor: 1 bytes, line 84
84
85<script> 86 window.Shopify = window.Shopify || {}; 87 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 88 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"]}; 89</script>
vendor: 1 bytes, line 89
89
90<script>(function() { 91 var isLoaded = false; 92 function asyncLoad() { 93 if (isLoaded) return; 94 isLoaded = true; 95 var urls = ["\/\/cdn.shopify.com\/proxy\/05685911ccecbeaedbe5eddfd2abfd7c053a608ca0d33f4e5429d537a93d3a50\/sbzstag.cirkleinc.com\/?shop=ku1htv-4a.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","https:\/\/loox.io\/widget\/7CTH7_ro70\/loox.1770623648881.js?shop=ku1htv-4a.myshopify.com"]; 96 for (var i = 0; i < urls.length; i++) { 97 var s = document.createElement('script'); 98 s.type = 'text/javascript'; 99 s.async = true; 100 s.src = urls[i]; 101 var x = document.getElementsByTagName('script')[0]; 102 x.parentNode.insertBefore(s, x); 103 } 104 }; 105 if(window.attachEvent) { 106 window.attachEvent('onload', asyncLoad); 107 } else { 108 window.addEventListener('load', asyncLoad, false); 109 } 110})();</script>
vendor: 1 bytes, line 110
110
111<script id="__st">var __st={"a":77746012381,"offset":-18000,"reqid":"c2b7caa5-0aa0-4d8c-848c-adada1e90d4a-1790386968","pageurl":"www.personalwine.com\/products\/tafida-cabernet-sauvignon","u":"3621943ac76f","p":"product","rtyp":"product","rid":9236777566429};</script>
vendor: 1 bytes, line 111
111
112<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 112
112
113<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 113
113
114<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.personalwine.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 114
114
115<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.personalwine.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
115<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 115
115
116<script> 117 window.Shopify = window.Shopify || {}; 118 window.Shopify.MCP = window.Shopify.MCP || {}; 119 window.Shopify.MCP.enabled = true; 120 window.Shopify.MCP.shop = "ku1htv-4a.myshopify.com"; 121 window.Shopify.MCP.mcpEndpoint = "https:\/\/www.personalwine.com\/api\/mcp"; 122 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?\"\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."}},"required":["query"]}}]; 123</script>
vendor: 1 bytes, line 123
123
124<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.personalwine.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 125</script>
vendor: 1 bytes, line 125
125
126<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.personalwine.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 127</script>
vendor: 1 bytes, line 127
127
128<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 129 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); 130</script>
vendor: 1 bytes, line 130
130
131<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})}})); 132</script>
132 133<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.personalwine.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 134<style id="shopify-accelerated-checkout-cart"> 135 #shopify-buyer-consent { 136 margin-top: 1em; 137 display: inline-block; 138 width: 100%; 139} 140 141#shopify-buyer-consent.hidden { 142 display: none; 143} 144 145#shopify-subscription-policy-button { 146 background: none; 147 border: none; 148 padding: 0; 149 text-decoration: underline; 150 font-size: inherit; 151 cursor: pointer; 152} 153 154#shopify-subscription-policy-button::before { 155 box-shadow: none; 156} 157 158 </style> 159
160<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
160 161 162 �<style data-shopify> 163 164 @font-face { 165 font-family: Raleway; 166 font-weight: 400; 167 font-style: normal; 168 font-display: swap; 169 src: url("//www.personalwine.com/cdn/fonts/raleway/raleway_n4.2c76ddd103ff0f30b1230f13e160330ff8b2c68a.woff2") format("woff2"), 170 url("//www.personalwine.com/cdn/fonts/raleway/raleway_n4.c057757dddc39994ad5d9c9f58e7c2c2a72359a9.woff") format("woff"); 171} 172 173 @font-face { 174 font-family: Raleway; 175 font-weight: 500; 176 font-style: normal; 177 font-display: swap; 178 src: url("//www.personalwine.com/cdn/fonts/raleway/raleway_n5.0f898fcb9d16ae9a622ce7e706bb26c4a01b5028.woff2") format("woff2"), 179 url("//www.personalwine.com/cdn/fonts/raleway/raleway_n5.c754eb57a4de1b66b11f20a04a7e3f1462e000f4.woff") format("woff"); 180} 181 182 @font-face { 183 font-family: Raleway; 184 font-weight: 600; 185 font-style: normal; 186 font-display: swap; 187 src: url("//www.personalwine.com/cdn/fonts/raleway/raleway_n6.87db7132fdf2b1a000ff834d3753ad5731e10d88.woff2") format("woff2"), 188 url("//www.personalwine.com/cdn/fonts/raleway/raleway_n6.ad26493e9aeb22e08a6282f7bed6ea8ab7c3927f.woff") format("woff"); 189} 190 191 @font-face { 192 font-family: Raleway; 193 font-weight: 700; 194 font-style: normal; 195 font-display: swap; 196 src: url("//www.personalwine.com/cdn/fonts/raleway/raleway_n7.740cf9e1e4566800071db82eeca3cca45f43ba63.woff2") format("woff2"), 197 url("//www.personalwine.com/cdn/fonts/raleway/raleway_n7.84943791ecde186400af8db54cf3b5b5e5049a8f.woff") format("woff"); 198} 199 200 @font-face { 201 font-family: Raleway; 202 font-weight: 400; 203 font-style: italic; 204 font-display: swap; 205 src: url("//www.personalwine.com/cdn/fonts/raleway/raleway_i4.aaa73a72f55a5e60da3e9a082717e1ed8f22f0a2.woff2") format("woff2"), 206 url("//www.personalwine.com/cdn/fonts/raleway/raleway_i4.650670cc243082f8988ecc5576b6d613cfd5a8ee.woff") format("woff"); 207} 208 209 @font-face { 210 font-family: Raleway; 211 font-weight: 700; 212 font-style: italic; 213 font-display: swap; 214 src: url("//www.personalwine.com/cdn/fonts/raleway/raleway_i7.6d68e3c55f3382a6b4f1173686f538d89ce56dbc.woff2") format("woff2"), 215 url("//www.personalwine.com/cdn/fonts/raleway/raleway_i7.ed82a5a5951418ec5b6b0a5010cb65216574b2bd.woff") format("woff"); 216} 217 218 @font-face { 219 font-family: "Gilda Display"; 220 font-weight: 400; 221 font-style: normal; 222 font-display: swap; 223 src: url("//www.personalwine.com/cdn/fonts/gilda_display/gildadisplay_n4.7fc5354c47a4970aba18d681449d9611011dd058.woff2") format("woff2"), 224 url("//www.personalwine.com/cdn/fonts/gilda_display/gildadisplay_n4.e15b1954cf6c84e5027a9ce38b46b0164add9a36.woff") format("woff"); 225} 226 227 228 229 230 231 232 233/** 234 * Typography 235 * https://type-scale.com/ 236 */ 237 :root { 238 --size-hxl: 4.0rem; 239 --size-h0: 3.6rem; 240 --size-h1: 3rem; 241 --size-h2: 2.8rem; 242 --size-h3: 2.2rem; 243 --size-h4: 1.8rem; 244 --size-h5: 1.6rem; 245 --size-h6: 1.5rem; 246 --size-large:1.6rem; 247 --size-body: 1.5rem; 248 --size-small:1.3rem; 249 --size-tiny: 1.4rem; 250 } 251@media only screen and (min-width: 990px) { 252 :root { 253 --size-hxl: 5.6rem; 254 --size-h0: 4.8rem; 255 --size-h1: 4rem; 256 --size-h2: 3.2rem; 257 --size-h3: 2.8rem; 258 --size-h4: 2.2rem; 259 --size-h5: 1.7rem; 260 --size-h6: 1.6rem; 261 --size-large:1.75rem; 262 --size-body: 1.6rem; 263 --size-small:1.4rem; 264 --size-tiny: 1.4rem; 265 } 266 } 267 268 269 :root{ 270 /*Color*/ 271 --color-background: 255 255 255; 272 --color-foreground: 29 29 29; 273 --color-heading: 29 29 29; 274 --color-accent: 39 154 75; 275 --color-border: 233 233 233; 276 --color-input-border: 233 233 233; 277 --color-overlay: 68 68 68; 278 --color-drawer-background: 255 255 255; 279 --color-header-background: 29 29 29; 280 --color-header-text: 255 255 255; 281 --color-header-link-hover: 255 255 255; 282 --color-footer-background: 57 51 48; 283 --color-footer-border: 97 87 83; 284 --color-footer-heading: 255 255 255; 285 --color-footer-text: 255 255 255; 286 --color-footer-link-hover: 255 255 255; 287 --color-placeholder-bg:#f1f1f1; 288 --color-placeholder-fill:rgba(var(--color-foreground)/0.5); 289 290 --color-price-discount-background: 29 29 29; 291 --color-price-discount-text: 29 29 29;--color-price-discount:255 255 255; 292 --color-sold-out-background: 204 204 204;--color-sold-out:0 0 0; 293 --color-inventory-in-stock: 39 154 75; 294 --color-inventory-low-stock: 233 127 50; 295 --color-stars: 255 204 45; 296 --color-background-card:255 255 255; 297 --color-filter: none; 298 --color-card-label:0 0 0; 299 --color-card-label-background:224 240 131; 300 301 /*Button*/ 302 --btn-solid-bg: 37 35 32; 303 --btn-solid-border: 37 35 32; 304 --btn-solid-bg-hover: 222 190 129; 305 --btn-solid-border-hover: 222 190 129; 306 --btn-solid-text: 255 255 255; 307 --btn-solid-text-hover: 29 29 29; 308 --btn-solid-text-white:57 51 48; 309 --btn-solid-white-bg:29 29 29; 310 --btn-secondary-solid-bg: 222 190 129; 311 --btn-secondary-solid-border: 222 190 129; 312 --btn-secondary-solid-text: 29 29 29; 313 --btn-secondary-solid-text-hover: 255 255 255; 314 --btn-secondary-solid-bg-hover: 37 35 32; 315 --btn-secondary-solid-border-hover: 37 35 32; 316 --btn-outline-border: 57 51 48; 317 --btn-outline-text: 57 51 48; 318 --btn-outline-text-white-hover: 57 51 48; 319 --btn-underlined-text: 57 51 48; 320 --btn-underlined-bg: 57 51 48; 321 322 /*Custom marquee*/ 323 324 } 325 326 :root{ 327 /* Appearance and spacing */ 328 --dropdown-radius: 0px; 329 --inputs-radius: 0px; 330 --color-shadow:var(--color-heading); 331 --shadow: 0 5px 30px rgb(var(--color-heading) / 0.1); 332 --shadow-sm: 0 2px 8px rgb(var(--color-heading) / 0.1); 333 --badge-corner-radius: 0.0rem; 334 } 335 :root { 336 337 /*Font*/ 338 --font-body-family: Raleway, sans-serif; 339 --font-body-style: normal; 340 --font-body-weight: 400; 341 --font-body-weight-bold: 700; 342 343 --font-heading-family: "Gilda Display", serif; 344 --font-heading-style: normal; 345 --font-heading-weight: 400; 346 --font-heading-weight-bold: 700; 347 348 --font-body-scale: 1.01; 349 --font-heading-scale: 1.2; 350 351 --text-size-hxl : calc(var(--font-heading-scale)*var(--size-hxl)); 352 --text-size-h0 : calc(var(--font-heading-scale)*var(--size-h0)); 353 --text-size-h1 : calc(var(--font-heading-scale)*var(--size-h1)); 354 --text-size-h2 : calc(var(--font-heading-scale)*var(--size-h2)); 355 --text-size-h3 : calc(var(--font-heading-scale)*var(--size-h3)); 356 --text-size-h4 : calc(var(--font-heading-scale)*var(--size-h4)); 357 --text-size-h5 : calc(var(--font-heading-scale)*var(--size-h5)); 358 --text-size-h6 : calc(var(--font-heading-scale)*var(--size-h6)); 359 --text-size-large : calc(var(--font-body-scale)*var(--size-large)); 360 --text-size-base : calc(var(--font-body-scale)*var(--size-body)); 361 --text-size-small : calc(var(--font-body-scale)*var(--size-small)); 362 --text-size-tiny : calc(var(--font-body-scale)*var(--size-tiny)); 363 364 --font-heading-spacing: 0px; 365 --font-body-spacing: 0px; 366 --font-body-transform: none; 367 --font-heading-transform: none; 368 --font-heading-line-height: 0.27; 369 --font-subheading-family: var(--font-body-family) ; 370 --font-subheading-scale: 1.16; 371 --font-subheading-spacing: 2px; 372 --font-subheading-transform: uppercase; 373 --font-subheading-weight: 500; 374 --text-size-subheading: calc(var(--font-subheading-scale)* 1.2rem); 375 --font-card-title-family: var(--font-body-family) ; 376 --font-card-title-scale: 1.16; 377 --font-card-title-spacing: 0px; 378 --font-card-title-transform: none; 379 --font-card-title-weight: 500; 380 --badge-text-transform: none; 381 382 --container-max-width:1300px; 383 --fluid-container-width:100%; 384 --inputs-border-width:1px; 385 --icon-stroke-width: 1.5px; 386 --icon-style : ; 387 388 /* Buttons */ 389 --btn-padding-vertical:8px; 390 --btn-padding-horizontal:28px; 391 --btn-padding-vertical-sm:0.8rem; 392 --btn-padding-horizontal-sm:1.6rem; 393 --height-btn: 44px; 394 --thickness-btn-outline: 2px; 395 --thickness-btn-underline: 1px; 396 --inputs-thickness: 1px; 397 398 --btn-font-family: var(--font-body-family) ; 399 --btn-font-scale :0.92; 400 --btn-font-size: calc(var(--btn-font-scale) * 1.6rem); 401 --btn-font-spacing: 0px; 402 --btn-font-weight: 600; 403 --btn-font-transform: uppercase; 404 --btn-border-radius:0px; 405 406 407 --media-radius: 0px; 408 --fluid-offset:40px; 409 --max-width-drawer:540px; 410 411 /*Animation hover*/ 412 413 --btn-transform: scaleY(0); 414 --btn-transform-origin: top; 415 --btn-transform-hover: scaleY(1); 416 --btn-transform-origin-hover:bottom; 417 --btn-opacity: 1;
418 --btn-opacity-hover: 1; 419 } 420 :root { 421 --duration-short: 100ms; 422 --duration-default: 200ms; 423 --duration-announcement-bar: 250ms; 424 --duration-medium: 300ms; 425 --duration-long: 500ms; 426 --duration-extra-long: 600ms; 427 --duration-extra-longer: 750ms; 428 --duration-extended: 0.5s; 429 --ease-out-slow: cubic-bezier(.26,.54,.32,1); 430 --animation-slide-in: slideIn var(--duration-extended) var(--ease-out-slow) forwards; 431 --animation-fade-in: fadeIn var(--duration-extended) var(--ease-out-slow); 432 --rtl-logical: 1; 433 --backdrop-blur: 6px; 434 } 435 [dir="rtl"]{ 436 --rtl-logical:-1; 437 } 438 439 shopify-accelerated-checkout { 440 --shopify-accelerated-checkout-button-block-size: var(--height-btn); 441 --shopify-accelerated-checkout-button-border-radius: var(--btn-border-radius); 442 --shopify-accelerated-checkout-button-box-shadow: none; 443 --shopify-accelerated-checkout-skeleton-background-color: #dedede; 444 --shopify-accelerated-checkout-skeleton-animation-opacity-start: 1; 445 --shopify-accelerated-checkout-skeleton-animation-opacity-end: 0.5; 446 --shopify-accelerated-checkout-skeleton-animation-duration: 4s; 447 --shopify-accelerated-checkout-skeleton-animation-timing-function: ease; 448 } 449 450 shopify-accelerated-checkout-cart { 451 --shopify-accelerated-checkout-button-block-size: var(--height-btn); 452 --shopify-accelerated-checkout-button-inline-size: var(--height-btn); 453 --shopify-accelerated-checkout-button-border-radius:var(--btn-border-radius); 454 --shopify-accelerated-checkout-button-box-shadow: none; 455 --shopify-accelerated-checkout-inline-alignment: flex-center; 456 --shopify-accelerated-checkout-row-gap: 8px; 457 --shopify-accelerated-checkout-skeleton-background-color: #dedede; 458 --shopify-accelerated-checkout-skeleton-animation-opacity-start: 1; 459 --shopify-accelerated-checkout-skeleton-animation-opacity-end: 0.5; 460 --shopify-accelerated-checkout-skeleton-animation-duration: 4s; 461 --shopify-accelerated-checkout-skeleton-animation-timing-function: ease; 462 } 463 464 465 *, 466 *::before, 467 *::after { 468 box-sizing: inherit; 469 } 470 471 html { 472 box-sizing: border-box; 473 font-size: calc(var(--font-body-scale) * 62.25%); 474 height: 100%; 475 } 476 477 body { 478 display: flex; 479 flex-direction: column; 480 justify-content:start; 481 text-rendering: optimizeSpeed; 482 overflow-wrap: break-word; 483 min-height: 100vh; 484 margin: 0; 485 letter-spacing: var(--font-body-spacing); 486 line-height: calc(1 + .7 / var(--font-body-scale)); 487 font-family: var(--font-body-family); 488 font-style: var(--font-body-style); 489 font-weight: var(--font-body-weight); 490 font-size: var(--text-size-base); 491 color:rgb(var(--color-foreground)); 492 background-color: rgb(var(--color-background)); 493 text-transform: var(--font-body-transform); 494 -moz-osx-font-smoothing: grayscale; 495 -webkit-text-size-adjust: 100%; 496 } 497 498 @media screen and (max-width:1023){ 499 :root{ 500 --scrollbar-width:0px; 501 } 502 503 } 504 @media screen and (min-width: 750px) { 505 body { 506 font-size: var(--text-size-base); 507 } 508 } 509 .no-js .no-js-hidden { 510 display: none ; 511 }#page-transition { 512 position: fixed; 513 inset: 0; 514 background-color: rgb(var(--color-background)); 515 opacity: 1; 516 visibility: visible; 517 pointer-events: all; 518 transition: opacity 350ms ease, visibility 350ms ease; 519 z-index: 9999; 520 } 521 522 #page-transition:not(.active) { 523 opacity: 0; 524 visibility: hidden; 525 pointer-events: none; 526 } 527 #page-transition.no-transition { 528 transition: none !important; 529 }</style> 530 531 <link href="//www.personalwine.com/cdn/shop/t/65/assets/theme.css?v=46314943123063507861788214101" rel="stylesheet" type="text/css" media="all" /> 532 <link href="//www.personalwine.com/cdn/shop/t/65/assets/custom.css?v=111680968312266976631788214101" rel="stylesheet" type="text/css" media="all" /> 533 534 535 536 537 538 539 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.css"> 540 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick-theme.min.css"> 541
541<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" defer></script>
541 542
542<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js" defer></script>
542 543 544 545
545<script src="//www.personalwine.com/cdn/shop/t/65/assets/vendor.js?v=124304382699066876431788214101" defer="defer"></script>
vendor: 2 bytes, line 545
545
546<script src="//www.personalwine.com/cdn/shop/t/65/assets/constants.js?v=17748688612160318951788214101" defer="defer"></script>
vendor: 2 bytes, line 546
546
547<script src="//www.personalwine.com/cdn/shop/t/65/assets/pubsub.js?v=62018018568598906421788214101" defer="defer"></script>
vendor: 2 bytes, line 547
547
548<script src="//www.personalwine.com/cdn/shop/t/65/assets/theme.js?v=123378533550197210821788214101" defer="defer"></script>
vendor: 2 bytes, line 548
548
549<script src="//www.personalwine.com/cdn/shop/t/65/assets/custom.js?v=1999536664855955491788214101" defer="defer"></script>
549 550
550<script> 551 document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 552 if (Shopify.designMode) { 553 document.documentElement.classList.add('shopify-design-mode'); 554 } 555 </script>
555<link rel="stylesheet" href="//www.personalwine.com/cdn/shop/t/65/assets/component-predictive-search.css?v=14190012035299323731788214101" media="print" onload="this.media='all'" > 556 557 <!-- BEGIN app block: shopify://apps/microsoft-clarity/blocks/clarity_js/31c3d126-8116-4b4a-8ba1-baeda7c4aeea -->
558<script type="text/javascript"> 559 (function (c, l, a, r, i, t, y) { 560 c[a] = c[a] || function () { (c[a].q = c[a].q || []).push(arguments); }; 561 t = l.createElement(r); t.async = 1; t.src = "https://www.clarity.ms/tag/" + i + "?ref=shopify"; 562 y = l.getElementsByTagName(r)[0]; y.parentNode.insertBefore(t, y); 563 564 c.Shopify.loadFeatures([{ name: "consent-tracking-api", version: "0.1" }], error => { 565 if (error) { 566 console.error("Error loading Shopify features:", error); 567 return; 568 } 569 570 c[a]('consentv2', { 571 ad_Storage: c.Shopify.customerPrivacy.marketingAllowed() ? "granted" : "denied", 572 analytics_Storage: c.Shopify.customerPrivacy.analyticsProcessingAllowed() ? "granted" : "denied", 573 source: 101, 574 }); 575 }); 576 577 l.addEventListener("visitorConsentCollected", function (e) { 578 c[a]('consentv2', { 579 ad_Storage: e.detail.marketingAllowed ? "granted" : "denied", 580 analytics_Storage: e.detail.analyticsAllowed ? "granted" : "denied", 581 source: 101, 582 }); 583 }); 584 })(window, document, "clarity", "script", "w4u20udj6w"); 585</script>
585 586 587 588 589<!-- END app block --><!-- BEGIN app block: shopify://apps/seowill-redirects/blocks/brokenlink-404/cc7b1996-e567-42d0-8862-356092041863 --> 590<!-- END app block -->
590<script src="https://cdn.shopify.com/extensions/01a0aa7a-f99f-7ab6-a36e-9673fd70d8d4/omnisend-57/assets/omnisend-in-shop.js" type="text/javascript" defer="defer"></script>
590 591<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
592<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: 77746012381,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 592
592
593<script> 594 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 595</script>
vendor: 1 bytes, line 595
595
596<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}
596).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: 77746012381,storefrontBaseUrl: "https://www.personalwine.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.personalwine.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"2535948509","configuration":"{\"projectId\":\"w4u20udj6w\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"d8a2bb2ccbb513dc8e8b6937f4b8033e","type":"APP","apiClientId":240074326017,"privacyPurposes":[],"capabilities":["advanced_dom_events"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]}
596,"dataSharingState":"unrestricted"},{"id":"2372763869","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-CTNRRDCB5V\\\",\\\"AW-1071095016\\\",\\\"GT-5MR694KK\\\",\\\"GTM-5WDFF5\\\"],\\\"target_country\\\":\\\"ZZ\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-CTNRRDCB5V\\\",\\\"AW-1071095016\\\/Bnd1COCe2vwbEOi53v4D\\\"]},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-CTNRRDCB5V\\\",\\\"AW-1071095016\\\/yNPhCNq59dMZEOi53v4D\\\"]},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-CTNRRDCB5V\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-CTNRRDCB5V\\\",\\\"AW-1071095016\\\/tG4NCN2e2vwbEOi53v4D\\\",\\\"MC-N1PELVGVNQ\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-CTNRRDCB5V\\\",\\\"AW-1071095016\\\/Vk5HCOzv6AEQ6Lne_gM\\\",\\\"MC-N1PELVGVNQ\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-CTNRRDCB5V\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-CTNRRDCB5V\\\",\\\"AW-1071095016\\\/XNisCNqe2vwbEOi53v4D\\\",\\\"MC-N1PELVGVNQ\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-CTNRRDCB5V\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-CTNRRDCB5V\\\",\\\"AW-1071095016\\\/SR4ZCOO59dMZEOi53v4D\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-CTNRRDCB5V\\\",\\\"AW-1071095016\\\/_YRfCLvP8NMZEOi53v4D\\\"]},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-CTNRRDCB5V\\\"}],\\\"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":"2364145885","configuration":"{\"pixel_id\":\"444828602728155\",\"pixel_type\":\"facebook_pixel\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"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":"2124710109","configuration":"{\"apiURL\":\"https:\/\/api.omnisend.com\",\"appURL\":\"https:\/\/app.omnisend.com\",\"brandID\":\"69580e4a665bfca6230dbf73\",\"trackingURL\":\"https:\/\/wt.omnisendlink.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"1e2b45bbee5b360dff908f60423b89f8","type":"APP","apiClientId":186001,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"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":"138772701","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Google Customer Reviews"},{"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":"Personal Wine","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"ku1htv-4a.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/www.personalwine.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":35.0,"currencyCode":"USD"},"product":{"title":"Tafida Cabernet Sauvignon","vendor":"personalwine","id":"9236777566429","untranslatedTitle":"Tafida Cabernet Sauvignon","url":"\/products\/tafida-caber
596net-sauvignon","type":"Wine"},"id":"47382894444765","image":{"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206"},"sku":"WR-TAFIDA-CS-NV","title":"Label","untranslatedTitle":"Label"},{"price":{"amount":65.0,"currencyCode":"USD"},"product":{"title":"Tafida Cabernet Sauvignon","vendor":"personalwine","id":"9236777566429","untranslatedTitle":"Tafida Cabernet Sauvignon","url":"\/products\/tafida-cabernet-sauvignon","type":"Wine"},"id":"47382894411997","image":{"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_engravedExample_1.png?v=1774892206"},"sku":"WR-TAFIDA-CS-NV","title":"Engraving","untranslatedTitle":"Engraving"},{"price":{"amount":35.0,"currencyCode":"USD"},"product":{"title":"Tafida Cabernet Sauvignon","vendor":"personalwine","id":"9236777566429","untranslatedTitle":"Tafida Cabernet Sauvignon","url":"\/products\/tafida-cabernet-sauvignon","type":"Wine"},"id":"47382894477533","image":{"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627"},"sku":"WR-TAFIDA-CS-NV","title":"None","untranslatedTitle":"None"}
596],"products":[{"id":"9236777566429","handle":"tafida-cabernet-sauvignon","isCollective":null,"title":"Tafida Cabernet Sauvignon","type":"Wine","untranslatedTitle":"Tafida Cabernet Sauvignon","url":"\/products\/tafida-cabernet-sauvignon","vendor":"personalwine","remoteShopId":null,"variants":[{"id":"47382894444765","image":{"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206"},"price":{"amount":35.0,"currencyCode":"USD"},"sku":"WR-TAFIDA-CS-NV","title":"Label","untranslatedTitle":"Label"},{"id":"47382894411997","image":{"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_engravedExample_1.png?v=1774892206"},"price":{"amount":65.0,"currencyCode":"USD"},"sku":"WR-TAFIDA-CS-NV","title":"Engraving","untranslatedTitle":"Engraving"},{"id":"47382894477533","image":{"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627"},"price":{"amount":35.0,"currencyCode":"USD"},"sku":"WR-TAFIDA-CS-NV","title":"None","untranslatedTitle":"None"}]},{"id":"9441847181533","handle":"custom-gift-note","isCollective":null,"title":"Custom Gift Note","type":"Add-on","untranslatedTitle":"Custom Gift Note","url":"\/products\/custom-gift-note","vendor":"Personal Wine","remoteShopId":null,"variants":[{"id":"47698874040541","image":{"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/GiftNote.png?v=1774295848"},"price":{"amount":3.0,"currencyCode":"USD"},"sku":"ACC-GIFT-NOTE","title":"Default Title","untranslatedTitle":"Default Title"}]}],"purchasingCompany":null},},"https://www.personalwine.com/cdn","c8540278we853e1abpb62b2c4amde256306",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"165106385117","themePublished":"true","eventMetadataId":"d1d9ffbb-97e8-4692-ab6a-2e7070909270","pageType":"product","resourceId":"9236777566429","shopId":"77746012381","storefrontBaseUrl":"https:\/\/www.personalwine.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"c8540278we853e1abpb62b2c4amde256306","publish":"custom","events":"[[\"page_viewed\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":35.0,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Tafida Cabernet Sauvignon\",\"vendor\":\"personalwine\",\"id\":\"9236777566429\",\"untranslatedTitle\":\"Tafida Cabernet Sauvignon\",\"url\":\"\/products\/tafida-cabernet-sauvignon\",\"type\":\"Wine\"},\"id\":\"47382894444765\",\"image\":{\"src\":\"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206\"},\"sku\":\"WR-TAFIDA-CS-NV\",\"title\":\"Label\",\"untranslatedTitle\":\"Label\"}}]]"});})();</script>
596<script> 597 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 598 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 599 window.ShopifyAnalytics.meta.currency = 'USD'; 600 var meta = {"product":{"id":9236777566429,"gid":"gid:\/\/shopify\/Product\/9236777566429","vendor":"personalwine","type":"Wine","handle":"tafida-cabernet-sauvignon","variants":[{"id":47382894444765,"price":3500,"name":"Tafida Cabernet Sauvignon - Label","public_title":"Label","sku":"WR-TAFIDA-CS-NV"},{"id":47382894411997,"price":6500,"name":"Tafida Cabernet Sauvignon - Engraving","public_title":"Engraving","sku":"WR-TAFIDA-CS-NV"},{"id":47382894477533,"price":3500,"name":"Tafida Cabernet Sauvignon - None","public_title":"None","sku":"WR-TAFIDA-CS-NV"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":9236777566429,"requestId":"c2b7caa5-0aa0-4d8c-848c-adada1e90d4a-1790386968"}}; 601 for (var attr in meta) { 602 window.ShopifyAnalytics.meta[attr] = meta[attr]; 603 } 604</script>
vendor: 1 bytes, line 604
604
605<script class="analytics"> 606 (function () { 607 var customDocumentWrite = function(content) { 608 var jquery = null; 609 610 if (window.jQuery) { 611 jquery = window.jQuery; 612 } else if (window.Checkout && window.Checkout.$) { 613 jquery = window.Checkout.$; 614 } 615 616 if (jquery) { 617 jquery('body').append(content); 618 } 619 }; 620 621 var hasLoggedConversion = function(token) { 622 if (token) { 623 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 624 } 625 return false; 626 } 627 628 var setCookieIfConversion = function(token) { 629 if (token) { 630 var twoMonthsFromNow = new Date(Date.now()); 631 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 632 633 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 634 } 635 } 636 637 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 638 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 639 if (trekkie.integrations) { 640 return; 641 } 642 trekkie.methods = [ 643 'identify', 644 'page', 645 'ready', 646 'track', 647 'trackForm', 648 'trackLink' 649 ]; 650 trekkie.factory = function(method) { 651 return function() { 652 var args = Array.prototype.slice.call(arguments); 653 args.unshift(method); 654 trekkie.push(args); 655 if (method == 'track' || method == 'page') { 656 var pageUrl; 657 try { 658 pageUrl = window.location.href; 659 } catch (e) {} 660 var pageReferrer; 661 try { 662 pageReferrer = document.referrer; 663 } catch (e) {} 664 try { 665 if (window.__TREKKIE_SHIM_QUEUE == null) { 666 window.__TREKKIE_SHIM_QUEUE = []; 667 } 668 window.__TREKKIE_SHIM_QUEUE.push({ 669 from: 'trekkie-stub', 670 method: method, 671 args: args.slice(1), 672 pageContext: { 673 url: pageUrl, 674 referrer: pageReferrer 675 } 676 }); 677 } catch (e) { 678 // no-op 679 } 680 } 681 return trekkie; 682 }; 683 }; 684 for (var i = 0; i < trekkie.methods.length; i++) { 685 var key = trekkie.methods[i]; 686 trekkie[key] = trekkie.factory(key); 687 } 688 trekkie.load = function(config) { 689 trekkie.config = config || {}; 690 trekkie.config.initialDocumentCookie = document.cookie; 691 var first = document.getElementsByTagName('script')[0]; 692var script = document.createElement('script'); 693script.type = 'text/javascript'; 694script.onerror = function(e) { 695 var scriptFallback = document.createElement('script'); 696 scriptFallback.type = 'text/javascript'; 697 scriptFallback.onerror = function(error) { 698 var Monorail = { 699 produce: function produce(monorailDomain, schemaId, payload) { 700 var currentMs = new Date().getTime(); 701 var event = { 702 schema_id: schemaId, 703 payload: payload, 704 metadata: { 705 event_created_at_ms: currentMs, 706 event_sent_at_ms: currentMs 707 } 708 }; 709 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 710 }, 711 sendRequest: function sendRequest(endpointUrl, payload) { 712 // Try the sendBeacon API 713 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 714 var blobData = new window.Blob([payload], { 715 type: 'text/plain' 716 }); 717 718 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 719 return true; 720 } // sendBeacon was not successful 721 722 } // XHR beacon 723 724 var xhr = new XMLHttpRequest(); 725 726 try { 727 xhr.open('POST', endpointUrl); 728 xhr.setRequestHeader('Content-Type', 'text/plain'); 729 xhr.send(payload); 730 } catch (e) { 731 console.log(e); 732 } 733 734 return false; 735 }, 736 isIos12: function isIos12() { 737 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 738 } 739 }; 740 Monorail.produce('monorail-edge.shopifysvc.com', 741 'trekkie_storefront_load_errors/1.1', 742 {shop_id: 77746012381, 743 theme_id: 165106385117, 744 app_name: "storefront", 745 context_url: window.location.href, 746 source_url: "//www.personalwine.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js"}); 747 748 }; 749 scriptFallback.async = true; 750 scriptFallback.src = '//www.personalwine.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js'; 751 first.parentNode.insertBefore(scriptFallback, first); 752}; 753script.async = true; 754script.src = '//www.personalwine.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js'; 755first.parentNode.insertBefore(script, first); 756 757 }; 758 trekkie.load( 759 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":77746012381,"isMerchantRequest":null,"themeId":165106385117,"themeCityHash":"5602739345232369928","contentLanguage":"en","currency":"USD","eventMetadataId":"d1d9ffbb-97e8-4692-ab6a-2e7070909270"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 760 ); 761 762 var loaded = false;
763 trekkie.ready(function() { 764 if (loaded) return; 765 loaded = true; 766 767 window.ShopifyAnalytics.lib = window.trekkie; 768 769 var originalDocumentWrite = document.write; 770 document.write = customDocumentWrite; 771 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 772 document.write = originalDocumentWrite; 773 774 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 775 var token = match? match[1]: undefined; 776 if (!hasLoggedConversion(token)) { 777 setCookieIfConversion(token); 778 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"USD","variantId":47382894444765,"productId":9236777566429,"productGid":"gid:\/\/shopify\/Product\/9236777566429","name":"Tafida Cabernet Sauvignon - Label","price":"35.00","sku":"WR-TAFIDA-CS-NV","brand":"personalwine","variant":"Label","category":"Wine","nonInteraction":true,"remote":false,"available":true},undefined,undefined,{"shopifyEmitted":true}); 779 } 780 }); 781 782 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":9236777566429,"requestId":"c2b7caa5-0aa0-4d8c-848c-adada1e90d4a-1790386968","shopifyEmitted":true}); 783 784 var eventsListenerScript = document.createElement('script'); 785 eventsListenerScript.async = true; 786 eventsListenerScript.src = "//www.personalwine.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 787 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 788})();</script>
vendor: 1 bytes, line 788
788
789<script 790 defer 791 src="https://www.personalwine.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 792 data-application="storefront-renderer" 793 data-shop-id="77746012381" 794 data-render-region="gcp-us-central1" 795 data-page-type="product" 796 data-theme-instance-id="165106385117" 797 data-theme-name="Edge" 798 data-theme-version="1.5.0" 799 data-monorail-region="shop_domain" 800 data-resource-timing-sampling-rate="10" 801 data-shs="true" 802 data-shs-beacon="true" 803 data-shs-export-with-fetch="true" 804 data-shs-logs-sample-rate="1" 805 data-shs-beacon-endpoint="https://www.personalwine.com/api/collect" 806></script>
806 807<meta name="shopify-y" content="7af877eb-d9be-4035-86d1-0a248d417174" data-expiration="1821944568000"><meta name="shopify-s" content="61dac717-b178-4763-9e43-199fa343751d" data-expiration="1790388768000"><meta name="new-cookie-storage-activated" content="t"> 808</head> 809 810 <body class="template-product type-anim-fade-up"> 811 <a class="skip-to-content-link button visually-hidden btn btn-primary" href="#MainContent"> 812 Skip to content 813 </a><page-transition id="page-transition" class="active" duration="350"></page-transition>�<style> 814 .drawer { 815 visibility: hidden; 816 position: fixed; 817 z-index: 1000; 818 left: 0; 819 top: 0; 820 width: 100vw; 821 height: 100%; 822 display: flex; 823 justify-content: flex-end; 824 transition: visibility var(--duration-default) ease; 825 pointer-events: none; 826 } 827 .drawer.active { 828 visibility: visible; 829 pointer-events: auto; 830 } 831 .drawer .complementary-products{ 832 display: none; 833 } 834 .drawer.active .complementary-products{ 835 display: block; 836 } 837</style> 838 839<link href="//www.personalwine.com/cdn/shop/t/65/assets/quantity-popover.css?v=166746445939373855121788214101" rel="stylesheet" type="text/css" media="all" />�
839<script src="//www.personalwine.com/cdn/shop/t/65/assets/cart.js?v=170545887146967814751788214101" defer="defer"></script>
vendor: 2 bytes, line 839
839
840<script src="//www.personalwine.com/cdn/shop/t/65/assets/quantity-popover.js?v=127730003025479739641788214101" defer="defer"></script>
840 841 842 843<cart-drawer class="drawer is-empty" disabled > 844 <div id="CartDrawer" class="cart-drawer"> 845 <div id="CartDrawer-Overlay" class="cart-drawer__overlay"></div> 846 <div 847 class="drawer__inner" 848 role="dialog" 849 aria-modal="true" 850 aria-label="Your cart" 851 tabindex="-1" 852 ><div class="drawer__header border-b"> 853 <div class="drawer__heading uppercase flex items-center gap-x-4"> 854 <span class="h5">Your cart</span></div> 855 <button 856 class="drawer__close close-drawer-btn" 857 type="button" 858 onclick="this.closest('cart-drawer').close()" 859 aria-label="Close" 860 > 861 862<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="var(--icon-stroke-width)" stroke="currentColor" class=" icon icon-close size-10"> 863 <path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" /> 864</svg> 865 866 867 </button> 868 </div><div class="drawer__inner-empty"> 869 <div class="cart-drawer__warnings center justify-center "> 870 <div class="cart-drawer__empty-content text-center"> 871 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon icon-cart w-7"> 872 <path d="M15.9996 8C15.9996 9.06087 15.5782 10.0783 14.828 10.8284C14.0779 11.5786 13.0605 12 11.9996 12C10.9387 12 9.92131 11.5786 9.17116 10.8284C8.42102 10.0783 7.99959 9.06087 7.99959 8M3.63281 7.40138L2.93281 15.8014C2.78243 17.6059 2.70724 18.5082 3.01227 19.2042C3.28027 19.8157 3.74462 20.3204 4.33177 20.6382C5.00006 21 5.90545 21 7.71623 21H16.283C18.0937 21 18.9991 21 19.6674 20.6382C20.2546 20.3204 20.7189 19.8157 20.9869 19.2042C21.2919 18.5082 21.2167 17.6059 21.0664 15.8014L20.3664 7.40138C20.237 5.84875 20.1723 5.07243 19.8285 4.48486C19.5257 3.96744 19.0748 3.5526 18.5341 3.29385C17.92 3 17.141 3 15.583 3L8.41623 3C6.85821 3 6.07921 3 5.4651 3.29384C4.92433 3.5526 4.47349 3.96744 4.17071 4.48486C3.82689 5.07243 3.76219 5.84875 3.63281 7.40138Z" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 873 </svg> 874 875 876 <h2 class="cart__empty-text h6 mt-5 mb-8">Your cart is empty</h2> 877 <a href="https://personalwine.com/collections/shop" class="btn btn-primary"> 878 Continue shopping 879 </a> 880 </div> 881 882 </div> 883 </div><cart-drawer-items 884 885 class=" is-empty" 886 887 ><form 888 action="/cart" 889 id="CartDrawer-Form" 890 class="cart__contents cart-drawer__form px-10 lg:px-14 py-10 lg:py-12" 891 method="post" 892 > 893 <div id="CartDrawer-CartItems" class="drawer__contents js-contents"><p id="CartDrawer-LiveRegionText" class="visually-hidden" role="status"></p> 894 <p id="CartDrawer-LineItemStatus" class="visually-hidden" aria-hidden="true" role="status"> 895 Loading... 896 </p> 897 </div> 898 <div id="CartDrawer-CartErrors" role="alert"></div> 899 </form></cart-drawer-items> 900 <div class="drawer__footer border-t pb-8 lg:pb-8"> 901 902 � 903 �<div class="px-10 lg:px-14 py-5 lg:pt-6 w-full flex gap-x-8 flex-scroll-mobile"><modal-trigger class="cursor-pointer flex gap-x-4 items-center whitespace-nowrap" data-target="discount-code-modal"> 904 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns:xlink="http://www.w3.org/1999/xlink" role="img" color="currentColor" class="icon icon-tag size-7"> 905<path d="M18.4976 7.02344C18.4976 6.19501 17.826 5.52344 16.9976 5.52344C16.1692 5.52344 15.4976 6.19501 15.4976 7.02344C15.4976 7.85187 16.1692 8.52344 16.9976 8.52344C17.826 8.52344 18.4976 7.85187 18.4976 7.02344Z" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linejoin="round"></path> 906<path d="M7.97949 13.0234L10.9795 16.0234" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linejoin="round"></path> 907<path d="M12.0007 21.9854C11.9812 22.0048 11.9497 22.0049 11.9301 21.9855L2.01326 12.0243C1.99367 12.0048 1.99362 11.9731 2.01315 11.9536L12.0075 2L22.0015 2.02811V12.0155L12.0007 21.9854Z" stroke="currentColor" stroke-width="var(--icon-stroke-width)"></path> 908</svg> 909 Discounts 910 </modal-trigger><modal-drawer id="discount-code-modal" class="modal-drawer" > 911 <div class="modal-drawer__content"> 912 <div class="modal-header flex justify-between pb-8 items-center"> 913 <label class="font-bold uppercase">Discounts</label> 914 <button class="close-modal-drawer focus-inset close-modal" type="button" aria-label="Close" > 915<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="var(--icon-stroke-width)" stroke="currentColor" class=" icon icon-close size-10"> 916 <path stroke-linecap="round" stroke-linejoin="round" d="M6 18
91618 6M6 6l12 12" /> 917</svg> 918 919</button> 920 </div> 921 <cart-discount> 922 <div class="grid gap-4"> 923 <form class="flex gap-x-2 items-center"> 924 <input id="cart-discount" class="field__input cart-discount__input" type="text" name="discount" placeholder="Discount code"> 925 <button type="submit" class="btn cart-discount__button btn-primary"> 926 Apply� 927 928 929<div class="loading__spinner"> 930 <svg 931 aria-hidden="true" 932 focusable="false" 933 class="spinner" 934 viewBox="0 0 66 66" 935 xmlns="http://www.w3.org/2000/svg" 936 > 937 <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle> 938 </svg> 939</div> 940</button> 941 </form> 942 943 <div class="cart-discount__error hidden" role="alert"> 944 <small class="cart-discount__error--discount form__message hidden "><svg aria-hidden="true" focusable="false" class="icon icon-error" viewBox="0 0 13 13"> 945 <circle cx="6.5" cy="6.50049" r="5.5" stroke="white" stroke-width="2"/> 946 <circle cx="6.5" cy="6.5" r="5.5" fill="#EB001B" stroke="#EB001B" stroke-width="0.7"/> 947 <path d="M5.87413 3.52832L5.97439 7.57216H7.02713L7.12739 3.52832H5.87413ZM6.50076 9.66091C6.88091 9.66091 7.18169 9.37267 7.18169 9.00504C7.18169 8.63742 6.88091 8.34917 6.50076 8.34917C6.12061 8.34917 5.81982 8.63742 5.81982 9.00504C5.81982 9.37267 6.12061 9.66091 6.50076 9.66091Z" fill="white"/> 948 <path d="M5.87413 3.17832H5.51535L5.52424 3.537L5.6245 7.58083L5.63296 7.92216H5.97439H7.02713H7.36856L7.37702 7.58083L7.47728 3.537L7.48617 3.17832H7.12739H5.87413ZM6.50076 10.0109C7.06121 10.0109 7.5317 9.57872 7.5317 9.00504C7.5317 8.43137 7.06121 7.99918 6.50076 7.99918C5.94031 7.99918 5.46982 8.43137 5.46982 9.00504C5.46982 9.57872 5.94031 10.0109 6.50076 10.0109Z" fill="white" stroke="#EB001B" stroke-width="0.7"> 949</svg> 950Discount code cannot be applied to your cart 951 </small> 952 <span class="cart-discount__error--shipping form__message hidden"><svg aria-hidden="true" focusable="false" class="icon icon-error" viewBox="0 0 13 13"> 953 <circle cx="6.5" cy="6.50049" r="5.5" stroke="white" stroke-width="2"/> 954 <circle cx="6.5" cy="6.5" r="5.5" fill="#EB001B" stroke="#EB001B" stroke-width="0.7"/> 955 <path d="M5.87413 3.52832L5.97439 7.57216H7.02713L7.12739 3.52832H5.87413ZM6.50076 9.66091C6.88091 9.66091 7.18169 9.37267 7.18169 9.00504C7.18169 8.63742 6.88091 8.34917 6.50076 8.34917C6.12061 8.34917 5.81982 8.63742 5.81982 9.00504C5.81982 9.37267 6.12061 9.66091 6.50076 9.66091Z" fill="white"/> 956 <path d="M5.87413 3.17832H5.51535L5.52424 3.537L5.6245 7.58083L5.63296 7.92216H5.97439H7.02713H7.36856L7.37702 7.58083L7.47728 3.537L7.48617 3.17832H7.12739H5.87413ZM6.50076 10.0109C7.06121 10.0109 7.5317 9.57872 7.5317 9.00504C7.5317 8.43137 7.06121 7.99918 6.50076 7.99918C5.94031 7.99918 5.46982 8.43137 5.46982 9.00504C5.46982 9.57872 5.94031 10.0109 6.50076 10.0109Z" fill="white" stroke="#EB001B" stroke-width="0.7"> 957</svg> 958Shipping discounts are shown at checkout after adding an address 959 </span> 960 </div> 961 962 <ul class="cart-discount__list flex gap-4"> 963 964 </ul> 965 </div> 966</cart-discount> 967 </div> 968 </modal-drawer></div> 969 970 971 972 973 974 975 976 977 978 979 980
981<script> 982(function() { 983 const variantId = 47698874040541; 984 985 function isGiftNoteInCart(cart) { 986 return cart.items.some(item => item.variant_id === variantId); 987 } 988 989 function updateVisibility(cart) { 990 const el = document.getElementById('gift-note-upsell'); 991 if (cart.item_count === 0 || isGiftNoteInCart(cart)) { 992 if (el) el.remove(); 993 } else { 994 if (!el) { 995 const div = document.createElement('div'); 996 div.id = 'gift-note-upsell'; 997 div.className = 'gift-note-upsell px-10 lg:px-14 pt-5 lg:pt-6'; 998 div.innerHTML = '<a href="/products/custom-gift-note" style="color: #ea1534;">ð Add a custom gift note for $3</a>'; 999 // Insert before the cart footer 1000 const footer = document.getElementById('cart-items'); 1001 if (footer) footer.insertAdjacentElement('afterend', div); 1002 } 1003 } 1004 } 1005 1006 document.addEventListener('cart:updated', function(e) { 1007 if (e.detail && e.detail.cart) updateVisibility(e.detail.cart); 1008 }); 1009 1010 // Also watch for fetch responses to /cart/change.js and /cart/update.js 1011 const originalFetch = window.fetch; 1012 window.fetch = async function(...args) { 1013 const response = await originalFetch(...args); 1014 const url = typeof args[0] === 'string' ? args[0] : args[0].url; 1015 if (url && (url.includes('/cart/change') || url.includes('/cart/update') || url.includes('/cart/add'))) { 1016 const clone = response.clone(); 1017 clone.json().then(data => { 1018 if (data.items !== undefined) updateVisibility(data); 1019 }).catch(() => {}); 1020 } 1021 return response; 1022 }; 1023})(); 1024</script>
1024 1025 1026 <!-- Start blocks --> 1027 <!-- Subtotals --> 1028 1029 <div class="cart-drawer__footer px-10 lg:px-14" > 1030 <div></div> 1031 1032 <div class="totals mb-8 " role="status"> 1033 <p class="totals__total">Estimated total</p> 1034 <p class="totals__total-value">$0.00 USD</p> 1035 </div></div> 1036 1037 <!-- CTAs --> 1038 1039 <div class="cart__ctas flex flex-row px-10 lg:px-14 items-center" >��<div> 1040 <a href="/cart" class="btn btn-underlined" title="View Cart">View Cart</a> 1041 </div><button 1042 type="submit" 1043 id="CartDrawer-Checkout" 1044 class="cart__checkout-button btn btn-primary flex-1" 1045 name="checkout" 1046 form="CartDrawer-Form" 1047 1048 disabled 1049 1050 ><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" role="presentation" viewBox="0 0 24 24" fill="none" stroke-linecap="round" stroke-linejoin="round" class="icon icon-padlock"> 1051 <path d="M19.5 8.25H4.5C4.08579 8.25 3.75 8.58579 3.75 9V19.5C3.75 19.9142 4.08579 20.25 4.5 20.25H19.5C19.9142 20.25 20.25 19.9142 20.25 19.5V9C20.25 8.58579 19.9142 8.25 19.5 8.25Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> 1052 <path d="M12 15.375C12.6213 15.375 13.125 14.8713 13.125 14.25C13.125 13.6287 12.6213 13.125 12 13.125C11.3787 13.125 10.875 13.6287 10.875 14.25C10.875 14.8713 11.3787 15.375 12 15.375Z" fill="currentColor"></path> 1053 <path d="M8.25 8.25V5.25C8.25 4.25544 8.64509 3.30161 9.34835 2.59835C10.0516 1.89509 11.0054 1.5 12 1.5C12.9946 1.5 13.9484 1.89509 14.6517 2.59835C15.3549 3.30161 15.75 4.25544 15.75 5.25V8.25" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> 1054</svg>�Check out 1055 </button>� 1056 </div> 1057 </div> 1058 </div> 1059 </div> 1060</cart-drawer> 1061
1062 <search-drawer id="drawer-search" class="drawer-right component-drawer " role="dialog" aria-label="Search" > 1063 <div class="drawer-overlay"></div> 1064 <div class="drawer-content "><predictive-search class="search-modal__form flex flex-col h-full" data-loading-text="Loading..."><div class="drawer-header pt-6 pb-4 flex justify-between items-center flex-none px-10 lg:px-14"> 1065 <h5>Search</h5> 1066 <button class="close-drawer-btn focus-inset" type="button" aria-label="Close" > 1067<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="var(--icon-stroke-width)" stroke="currentColor" class=" icon icon-close size-10"> 1068 <path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" /> 1069</svg> 1070 1071</button> 1072 </div> 1073 <form action="/search" method="get" role="search" class="search search-modal__form flex flex-col gap-y-12 grow overflow-y-auto overflow-x-hidden"> 1074 <div class="px-10 lg:px-14"> 1075 <div class="field "> 1076 <input 1077 class="search__input field__input" 1078 id="drawer-search-input" 1079 type="search" 1080 name="q" 1081 value="" 1082 placeholder="Search"role="combobox" 1083 aria-expanded="false" 1084 aria-owns="predictive-search-results" 1085 aria-controls="predictive-search-results" 1086 aria-haspopup="listbox" 1087 aria-autocomplete="list" 1088 autocorrect="off" 1089 autocomplete="off" 1090 autocapitalize="off" 1091 spellcheck="false"> 1092 <label class="field__label hidden sr-only" for="drawer-search-input">Search</label> 1093 <input type="hidden" name="options[prefix]" value="last"> 1094 <button 1095 type="reset" 1096 class="reset__button field__button hidden" 1097 aria-label="Clear search term" 1098 > 1099 <span>Clear</span> 1100 </button> 1101 <button class="search__button field__button" aria-label="Search"> 1102 <svg class="icon icon-search" aria-hidden="true" focusable="false"> 1103 <use xlink:href="#icon-search"></use> <!-- Added closing tag for <use> element --> 1104 </svg> 1105 </button> 1106 </div> 1107 </div><div class="predictive-search predictive-search--header overflow-y-auto overflow-x-hidden px-10 lg:px-14" tabindex="-1" data-predictive-search> 1108 1109 1110<div class="predictive-search__loading-state"> 1111 <svg 1112 aria-hidden="true" 1113 focusable="false" 1114 class="spinner" 1115 viewBox="0 0 66 66" 1116 xmlns="http://www.w3.org/2000/svg" 1117 > 1118 <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle> 1119 </svg> 1120</div> 1121</div> 1122 <span class="predictive-search-status visually-hidden" role="status" aria-hidden="true"></span> 1123 <div class="predictive-search__group overflow-y-auto overflow-x-hidden "> 1124 <div class="px-10 lg:px-14 gap-y-12 flex flex-col pb-10"><div class="predictive-search_key-trend"> 1125 <p class="mb-8 uppercase sub-heading opacity-60">Trending Searches</p> 1126 <ul class="list-none flex flex-wrap items-center"><li class="me-4 predictive-search_key-trend__icon"> 1127 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="var(--icon-stroke-width)" stroke="currentColor" class="size-10"> 1128 <path stroke-linecap="round" stroke-linejoin="round" d="M2.25 18 9 11.25l4.306 4.306a11.95 11.95 0 0 1 5.814-5.518l2.74-1.22m0 0-5.94-2.281m5.94 2.28-2.28 5.941" /> 1129 </svg> 1130 </li><li><a class="inline-block no-underline" href="/search?q=wine">Wine</a></li><li><a class="inline-block no-underline" href="/search?q=liquor-bottle"> Liquor bottle</a></li><li><a class="inline-block no-underline" href="/search?q=wine-box"> Wine box</a></li></ul> 1131 </div></div> 1132 </div> 1133 1134 </form></predictive-search></div> 1135 </search-drawer><!-- BEGIN sections: header-group --> 1136<div id="shopify-section-sections--23404149768413__announcement-bar" class="shopify-section shopify-section-group-header-group announcement-bar-section"><style> 1137 .no-js-splide.splide{ 1138 visibility: visible; 1139 } 1140 .announcement-wrapper{ 1141 background: linear-gradient(152deg, rgb(201, 162, 93), rgb(251, 231, 181)); 1142 } 1143 .announcement-bar{ 1144 font-size:13px; 1145 font-family: var(--font-heading-family); 1146 font-style: var(--font-heading-style); 1147 font-weight: bold; 1148 } 1149 .announcement-wrapper .splide__arrow{ 1150 background:transparent; 1151 box-shadow: none; 1152 } 1153 .announcement-wrapper .splide__arrow--prev{
1154 inset-inline-start: -2rem; 1155 } 1156 .announcement-wrapper .splide__arrow--next{ 1157 inset-inline-end: -2rem; 1158 } 1159 .announcement-item svg{ 1160 fill:currentColor; 1161 } 1162 .announcement-countdown{ 1163 font-size:75%; 1164 background:rgba(var(--color-foreground) / 0.15); 1165 display: inline-flex; 1166 padding:2px 6px; 1167 border-radius: 2px; 1168 } 1169 .announcement-countdown .countdown-text{ 1170 color: rgba(var(--color-foreground) / 0.5); 1171 font-size: 80%; 1172 } 1173 .announcement-countdown .countdown { 1174 opacity: 0; 1175 transition: opacity 0.05s ease; 1176 } 1177 .announcement-countdown.active .countdown { 1178 opacity: 1; 1179 } 1180</style><div class="announcement-wrapper section-bg overflow-hidden scroll-trigger animate--fade-in" 1181 1182 1183 1184 1185 1186�style="--color-background: 71 60 56; --color-foreground: 29 29 29;--color-heading: 29 29 29;"> 1187 <div class="max-w-6xl mx-auto padding-x"> 1188 <div 1189 class="announcement-bar announcement-bar__single py-3" 1190 role="region" 1191 aria-label="Announcement" 1192 ><div class="flex items-center gap-x-2 gap-y-2 justify-center announcement-item text-center"> 1193 <span class="DS_message_icon"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABAklEQVQ4je3SO0oEURAF0OMPBRHEwNAfCIo7MBIE9yCKmE5o5A7MNZnQD4iBOzByDYITiIEmRv4wEEWx5UENNEPTPa3pXLjNo6l3762qRw//RV/uvI7dLu48YBsNHOClqGgQTWRd8A4zcb7FZJHgYZdibcEpvAaPigSHMB5M7l8lgk8YLZvJAh5zju810mbBH5yn0aWl9GMJAx1GW9hRD8tpGdPYD+E8FtXHcPqMYAMXf2g16+BKSvWBU7RyTntYw3dJmufUIo7zP1PLbZzEUhrxvlqx7WZczmMupcE17nEToa6KnDfxGS2clczqMmresFo13AnMVtSkFzKPsSqxHtTCL+JHYr78HFC1AAAAAElFTkSuQmCC" alt="" style="vertical-align:middle; height:19.5px;"></span> 1194 <span>Delivered in 3-6 business days!</span></div></div></div> 1195 1196 1197</div>
1198<script> 1199 const announcementBarHeight = document.querySelector('.announcement-bar-section').clientHeight; 1200 document.documentElement.style.setProperty('--announcement-bar-height', `${announcementBarHeight}px`); 1201</script>
1201 1202 1203 1204<style> #shopify-section-sections--23404149768413__announcement-bar .btn-tiny:not(.btn-underlined) {border-radius: 24px; height: 23px;} </style></div><div id="shopify-section-sections--23404149768413__header" class="shopify-section shopify-section-group-header-group section-header"><link rel="stylesheet" href="//www.personalwine.com/cdn/shop/t/65/assets/component-list-menu.css?v=117125131853757801771788214101" > 1205<link rel="stylesheet" href="//www.personalwine.com/cdn/shop/t/65/assets/component-mega-menu.css?v=128935933005627323241788214101"> 1206<link rel="stylesheet" href="//www.personalwine.com/cdn/shop/t/65/assets/component-search.css?v=63734711297259837161788214101" media="print" onload="this.media='all'"> 1207<link rel="stylesheet" href="//www.personalwine.com/cdn/shop/t/65/assets/component-menu-drawer.css?v=122751523301840179451788214101" media="print" onload="this.media='all'"> 1208 1209<link rel="stylesheet" href="//www.personalwine.com/cdn/shop/t/65/assets/component-cart-notification.css?v=10320092604332365021788214101" media="print" onload="this.media='all'"><link rel="stylesheet" href="//www.personalwine.com/cdn/shop/t/65/assets/component-cart-items.css?v=7227929329807983751788214110" media="print" onload="this.media='all'"><link href="//www.personalwine.com/cdn/shop/t/65/assets/component-cart-drawer.css?v=113094310619643307461788214101" rel="stylesheet" type="text/css" media="all" /> 1210 <link href="//www.personalwine.com/cdn/shop/t/65/assets/component-cart.css?v=65228470378951813711788214101" rel="stylesheet" type="text/css" media="all" /> 1211 <link href="//www.personalwine.com/cdn/shop/t/65/assets/component-totals.css?v=65788072639920593201788214101" rel="stylesheet" type="text/css" media="all" /> 1212 <link href="//www.personalwine.com/cdn/shop/t/65/assets/component-discounts.css?v=67643333936775892341788214101" rel="stylesheet" type="text/css" media="all" />�<style> 1213 .header__inline-menu .list-menu__items { 1214 padding: 0 30px; 1215 } 1216 header-drawer { 1217 justify-self: start; 1218 margin-inline-start: -1rem; 1219 }@media screen and (min-width: 1070px) { 1220 header-drawer { 1221 display: none; 1222 } 1223 }.menu-drawer-container { 1224 display: flex; 1225 } 1226 1227 .list-menu { 1228 list-style: none; 1229 padding: 0; 1230 margin: 0; 1231 } 1232 1233 .list-menu--inline { 1234 display: inline-flex; 1235 flex-wrap: wrap; 1236 padding: 12px; 1237 } 1238 1239 summary.list-menu__item { 1240 padding-inline-end: 2.7rem; 1241 } 1242 1243 .list-menu__item { 1244 display: flex;
1245 align-items: center; 1246 line-height: calc(1 + 0.3 / var(--font-body-scale)); 1247 } 1248 1249</style><style data-shopify>:root{ 1250 --logo-width_desktop: 200px; 1251 --logo-width_mobile: 200px; 1252 --navigation_font_family: var(--font-body-family) ; 1253 --navigation_scale : 0.89; 1254 --navigation_font_size: calc(var(--navigation_scale)* var(--size-body)); 1255 --navigation_letter_spacing: 1px; 1256 --navigation_transform : uppercase; 1257 --navigation_weight: 500; 1258 --color-header-transparent-background: 255 255 255; 1259 --navigation-scale-mobile : 1.5; 1260 --navigation-scale-sub-mobile : 1.2;--header-height-transparent:0px;} 1261 1262 .header { 1263 padding: calc( var(--header-padding-top) - 0.5rem ) 0 calc( var(--header-padding-bottom) - 0.5rem ) 0; 1264 margin-bottom: var(--header-margin-bottom); 1265 } 1266 .header .header__heading-link{ 1267 position:relative; 1268 } 1269 .header .header__heading-logo.header__heading-logo-light{ 1270 position: absolute; 1271 top: 0; 1272 left: 0; 1273 width: 100%; 1274 height: 100%; 1275 object-fit: contain; 1276 opacity: 0; 1277 } 1278 .header.header--transparent { 1279 position: absolute; 1280 width: 100%; 1281 background-color: transparent; 1282 transition: all var(--duration-medium) var(--ease-out-slow); 1283 } 1284 /*body:has(main > .shopify-section:first-child[has-transparent-header]) .header { 1285 position: absolute; 1286 width: 100%; 1287 background-color: transparent; 1288 }*/ 1289 .header--transparent.header-wrapper--border-bottom:not(:hover):not(.is-sticky){ 1290 border-bottom-color: rgba(var(--color-header-transparent-background) / 0.2); 1291 } 1292 .header.header--transparent.is-sticky{ 1293 background-color: rgb(var(--color-header-background)); 1294 } 1295 1296 /*hover header*/ 1297 .header.header--transparent:not(:hover):not(.is-sticky) .header__heading-logo{ 1298 opacity: 0; 1299 } 1300 .header.header--transparent:not(:hover):not(.is-sticky) .header__heading-logo.header__heading-logo-light{ 1301 opacity: 1; 1302 } 1303 1304 .header.header--transparent:not(:hover):not(.is-sticky) .header__menu-item, .header.header--transparent:not(:hover):not(.is-sticky) .header__icon, .header.header--transparent:not(:hover):not(.is-sticky) .header__icon .icon, .header.header--transparent:not(:hover):not(.is-sticky) .desktop-localization-wrapper .localization-selector.link, .header.header--transparent:not(:hover):not(.is-sticky) .header__heading-link span, .header.header--transparent:not(:hover):not(.is-sticky) .header__icons--nav-item{ 1305 color: rgb(var(--color-header-transparent-background)); 1306 } 1307 .header.header--transparent:not(:hover):not(.is-sticky) .header__menu-item:focus-visible, .header.header--transparent:not(:hover):not(.is-sticky) .desktop-localization-wrapper .localization-selector.link:focus-visible,.header.header--transparent:not(:hover):not(.is-sticky) .header__icon:focus-visible{ 1308 --color-foreground : var(--color-header-transparent-background); 1309 } 1310 .header.header--transparent:not(:hover):not(.is-sticky) .cart-count-bubble{ 1311 color: rgb(var(--color-header-text)) ; 1312 background-color: rgb(var(--color-header-transparent-background)); 1313 } 1314 .header.header--transparent:hover{ 1315 background: rgb(var(--color-header-background)); 1316 } 1317 .header.header--transparent:not(:hover):not(.is-sticky) .menu-drawer, .template-index .header.header--transparent .menu-drawer{ 1318 border-top: 1px solid rgb(var(--color-border)); 1319 } 1320 1321 .section-header { 1322 position: sticky; /* This is for fixing a Safari z-index issue. PR #2147 */ 1323 margin-bottom:calc(var(--header-margin-bottom) - 1rem); 1324 } 1325 1326 @media screen and (min-width: 750px) { 1327 .section-header { 1328 margin-bottom: var(--header-margin-bottom); 1329 } 1330 } 1331 1332 @media screen and (min-width: 1070px) { 1333 .header { 1334 padding-top: var(--header-padding-top); 1335 padding-bottom: var(--header-padding-bottom); 1336 } 1337 }</style>
1337<script src="//www.personalwine.com/cdn/shop/t/65/assets/cart-notification.js?v=130258919139755524791788214101" defer="defer"></script>
vendor: 2 bytes, line 1337
1337
1338<script src="//www.personalwine.com/cdn/shop/t/65/assets/search-form.js?v=88070640753317098901788214101" defer="defer"></script>
1338 1339 1340<svg xmlns="http://www.w3.org/2000/svg" class="hidden"> 1341 <symbol id="icon-search" viewbox="0 0 24 24" fill="none" stroke-width="var(--icon-stroke-width)" stroke="currentColor"> 1342 <path d="M17 17L21 21" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> 1343 <path d="M19 11C19 6.58172 15.4183 3 11 3C6.58172 3 3 6.58172 3 11C3 15.4183 6.58172 19 11 19C15.4183 19 19 15.4183 19 11Z" stroke-width="var(--icon-stroke-width)" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path> 1344 </symbol> 1345 1346 1347 <symbol id="icon-reset" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1" stroke="currentColor" class="size-6"> 1348 <path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" /> 1349 </symbol> 1350 1351 <symbol id="icon-close" class="icon icon-close" fill="none" viewBox="0 0 18 17"> 1352 <path 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" fill="currentColor"> 1353 </symbol> 1354</svg> 1355 <sticky-header data-sticky-type="always" 1356 class="header-wrapper is-style-2" > 1357�<header class="header header--top-left header--mobile-center header--has-menu header--has-social header--has-account header-wrapper--border-bottom" 1358 style="--logo-width_desktop:200px;--logo-width_mobile:200px;--header-padding-top:8px;--header-padding-bottom:0px;--header-margin-bottom:0px;"> 1359 <div class="container-fluid header__in">�<header-drawer class="" data-breakpoint="tablet"> 1360 <details id="Details-menu-drawer-container" class="menu-drawer-container"> 1361 <summary 1362 class="header__icon header__icon--menu header__icon--summary link focus-inset" 1363 aria-label="Menu" 1364 > 1365 <span class="header__icon--hamburger"> 1366 <span class="header__icon--hamburger-line"></span> 1367 <span class="header__icon--hamburger-line"></span> 1368 <span class="header__icon--hamburger-line"></span> 1369 </span> 1370 </summary> 1371 <div id="menu-drawer" class="gradient menu-drawer motion-reduce "> 1372 <div class="menu-drawer__inner-container"> 1373 <div class="menu-drawer__navigation-container"> 1374 <nav class="menu-drawer__navigation"> 1375 <ul class="menu-drawer__menu has-submenu list-menu" role="list"><li > 1376 <div class="flex flex-row gap-x-4 menu-drawer__menu-link-and-toggle items-center menu-drawer__menu-lv-1"> 1377 <a 1378 href="/collections/wine" 1379 class="menu-drawer__menu-item list-menu__item link link--text focus-inset flex-1 " 1380 1381 1382 > 1383 Wine�</a> 1384 1385 <details id="Details-menu-drawer-menu-item-1" class="details-link-and-toggle" > 1386 <summary 1387 id="HeaderDrawer-wine" 1388 class="menu-drawer__menu-item list-menu__item link link--text focus-inset " 1389 1390 > 1391 1392 <span class="sr-only">Wine</span> 1393 1394 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="icon icon-arrow"> 1395 <path stroke-linecap="round" stroke-linejoin="round" d="m8.25 4.5 7.5 7.5-7.5 7.5" /> 1396</svg> 1397 1398 </summary> 1399 <div 1400 id="link-wine" 1401 class="menu-drawer__submenu has-submenu gradient motion-reduce" 1402 tabindex="-1" 1403 > 1404 <div class="menu-drawer__inner-submenu"> 1405 <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> 1406 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="icon icon-arrow"> 1407 <path stroke-linecap="round" stroke-linejoin="round" d="M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18" /> 1408</svg> 1409 1410 Wine 1411 </button> 1412 1413 <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li> 1414 <div class="flex flex-row gap-x-4 menu-drawer__menu-link-and-toggle items-center"> 1415 <a 1416 href="/collections/red-wines" 1417 class="menu-drawer__menu-item link link--text list-menu__item focus-inset flex-1" 1418 1419 > 1420 Red 1421 </a> 1422 1423 <details id="Details-menu-drawer-wine-red" class="details-link-and-toggle" > 1424 <summary 1425 id="HeaderDrawer-wine-red" 1426 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1427 > 1428
1429 <span class="sr-only">Red</span> 1430 1431 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="icon icon-arrow"> 1432 <path stroke-linecap="round" stroke-linejoin="round" d="m8.25 4.5 7.5 7.5-7.5 7.5" /> 1433</svg> 1434 1435 </summary> 1436 <div 1437 id="childlink-red" 1438 class="menu-drawer__submenu has-submenu gradient motion-reduce" 1439 > 1440 <button 1441 class="menu-drawer__close-button link link--text focus-inset" 1442 aria-expanded="true" 1443 > 1444 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="icon icon-arrow"> 1445 <path stroke-linecap="round" stroke-linejoin="round" d="M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18" /> 1446</svg> 1447 1448 Red 1449 </button> 1450 <ul 1451 class="menu-drawer__menu list-menu" 1452 role="list" 1453 tabindex="-1" 1454 ><li> 1455 <a 1456 id="HeaderDrawer-wine-red-cabernet-sauvignon" 1457 href="/collections/cabernet-sauvignon" 1458 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1459 1460 >Cabernet Sauvignon 1461 </a> 1462 </li><li> 1463 <a 1464 id="HeaderDrawer-wine-red-grenache" 1465 href="/collections/grenache" 1466 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1467 1468 >Grenache 1469 </a> 1470 </li><li> 1471 <a 1472 id="HeaderDrawer-wine-red-malbec" 1473 href="/collections/malbec" 1474 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1475 1476 >Malbec 1477 </a> 1478 </li><li> 1479 <a 1480 id="HeaderDrawer-wine-red-merlot" 1481 href="/collections/merlot" 1482 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1483 1484 >Merlot 1485 </a> 1486 </li><li> 1487 <a 1488 id="HeaderDrawer-wine-red-pinot-noir" 1489 href="/collections/pinot-noir" 1490 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1491 1492 >Pinot Noir 1493 </a> 1494 </li><li> 1495 <a 1496 id="HeaderDrawer-wine-red-red-blends" 1497 href="/collections/red-blends" 1498 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1499 1500 >Red Blends 1501 </a> 1502 </li><li> 1503 <a 1504 id="HeaderDrawer-wine-red-syrah" 1505 href="/collections/syrah" 1506 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1507 1508 >Syrah 1509 </a> 1510 </li><li> 1511 <a 1512 id="HeaderDrawer-wine-red-tempranillo" 1513 href="/collections/tempranillo" 1514 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1515 1516 >Tempranillo 1517 </a> 1518 </li><li> 1519 <a 1520 id="HeaderDrawer-wine-red-zinfandel" 1521 href="/collections/zinfandel" 1522 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1523 1524 >Zinfandel 1525 </a> 1526 </li></ul> 1527 </div> 1528 </details> 1529 1530 </div> 1531 �</li><li> 1532 <div class="flex flex-row gap-x-4 menu-drawer__menu-link-and-toggle items-center"> 1533 <a 1534 href="/collections/white-wines" 1535 class="menu-drawer__menu-item link link--text list-menu__item focus-inset flex-1" 1536 1537 > 1538 White 1539 </a> 1540 1541 <details id="Details-menu-drawer-wine-white" class="details-link-and-toggle" > 1542 <summary 1543 id="HeaderDrawer-wine-white" 1544 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1545 > 1546
1547 <span class="sr-only">White</span> 1548 1549 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="icon icon-arrow"> 1550 <path stroke-linecap="round" stroke-linejoin="round" d="m8.25 4.5 7.5 7.5-7.5 7.5" /> 1551</svg> 1552 1553 </summary> 1554 <div 1555 id="childlink-white" 1556 class="menu-drawer__submenu has-submenu gradient motion-reduce" 1557 > 1558 <button 1559 class="menu-drawer__close-button link link--text focus-inset" 1560 aria-expanded="true" 1561 > 1562 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="icon icon-arrow"> 1563 <path stroke-linecap="round" stroke-linejoin="round" d="M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18" /> 1564</svg> 1565 1566 White 1567 </button> 1568 <ul 1569 class="menu-drawer__menu list-menu" 1570 role="list" 1571 tabindex="-1" 1572 ><li> 1573 <a 1574 id="HeaderDrawer-wine-white-chardonnay" 1575 href="/collections/chardonnay" 1576 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1577 1578 >Chardonnay 1579 </a> 1580 </li><li> 1581 <a 1582 id="HeaderDrawer-wine-white-moscato" 1583 href="/collections/moscato" 1584 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1585 1586 >Moscato 1587 </a> 1588 </li><li> 1589 <a 1590 id="HeaderDrawer-wine-white-pinot-grigio" 1591 href="/collections/pinot-grigio" 1592 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1593 1594 >Pinot Grigio 1595 </a> 1596 </li><li> 1597 <a 1598 id="HeaderDrawer-wine-white-riesling" 1599 href="/collections/riesling" 1600 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1601 1602 >Riesling 1603 </a> 1604 </li><li> 1605 <a 1606 id="HeaderDrawer-wine-white-sauvignon-blanc" 1607 href="/collections/sauvignon-blanc" 1608 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1609 1610 >Sauvignon Blanc 1611 </a> 1612 </li><li> 1613 <a 1614 id="HeaderDrawer-wine-white-white-blends" 1615 href="/collections/white-blends" 1616 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1617 1618 >White Blends 1619 </a> 1620 </li></ul> 1621 </div> 1622 </details> 1623 1624 </div> 1625 �</li><li><a 1626 id="HeaderDrawer-wine-rose" 1627 href="/collections/rose-wines" 1628 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1629 1630 > 1631 Rosé 1632 </a></li><li> 1633 <div class="flex flex-row gap-x-4 menu-drawer__menu-link-and-toggle items-center"> 1634 <a 1635 href="/collections/sparkling-wines" 1636 class="menu-drawer__menu-item link link--text list-menu__item focus-inset flex-1" 1637 1638 > 1639 Sparkling 1640 </a> 1641 1642 <details id="Details-menu-drawer-wine-sparkling" class="details-link-and-toggle" > 1643 <summary 1644 id="HeaderDrawer-wine-sparkling" 1645 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1646 > 1647 1648 <span class="sr-only">Sparkling</span> 1649 1650 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="icon icon-arrow"> 1651 <path stroke-linecap="round" stroke-linejoin="round" d="m8.25 4.5 7.5 7.5-7.5 7.5" /> 1652</svg> 1653 1654 </summary> 1655 <div 1656 id="childlink-sparkling" 1657 class="menu-drawer__submenu has-submenu gradient motion-reduce" 1658 > 1659 <button 1660 class="menu-drawer__close-button link link--text focus-inset" 1661 aria-expanded="true" 1662 > 1663 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="icon icon-arrow"> 1664 <path stroke-linecap="round" stroke-linejoin="round" d="M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18" /> 1665</svg> 1666 1667 Sparkling 1668 </button> 1669 <ul 1670 class="menu-drawer__menu list-menu" 1671 role="list" 1672 tabindex="-1" 1673 ><li> 1674 <a 1675 id="HeaderDrawer-wine-sparkling-cava" 1676 href="/collections/cava" 1677 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1678 1679 >Cava 1680 </a> 1681 </li><li> 1682 <a 1683 id="HeaderDrawer-wine-sparkling-champagne" 1684 href="/collections/champagne" 1685 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1686 1687 >Champagne 1688 </a> 1689 </li><li> 1690 <a 1691 id="HeaderDrawer-wine-sparkling-prosecco" 1692 href="/collections/prosecco" 1693 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1694 1695 >Prosecco 1696 </a> 1697 </li></ul> 1698 </div> 1699 </details> 1700 1701 </div> 1702 �</li><li><a 1703 id="HeaderDrawer-wine-non-alcoholic" 1704 href="/collections/non-alcoholic-wines" 1705 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1706 1707 > 1708 Non-Alcoholic 1709 </a></li><li><a 1710 id="HeaderDrawer-wine-mini-bottles" 1711 href="/collections/mini-wine-bottles" 1712 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1713 1714 > 1715 Mini Bottles 1716 </a></li><li><a 1717 id="HeaderDrawer-wine-half-bottles" 1718 href="/collections/half-bottles" 1719 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1720 1721 > 1722 Half Bottles 1723 </a></li><li><a 1724 id="HeaderDrawer-wine-large-format" 1725 href="/collections/large-format-wines" 1726 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1727 1728 > 1729 Large Format 1730 </a></li><li><a 1731 id="HeaderDrawer-wine-wine-gift-sets" 1732 href="/collections/wine-gift-sets" 1733 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1734 1735 > 1736 Wine Gift Sets 1737 </a></li><li><a 1738 id="HeaderDrawer-wine-wine-tasting-sets" 1739 href="/collections/wine-tasting-sets" 1740 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1741 1742 > 1743 Wine Tasting Sets 1744 </a></li><li><a 1745 id="HeaderDrawer-wine-collector-wines" 1746 href="/collections/collector-wines" 1747 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1748 1749 > 1750 Collector Wines 1751 </a></li><li> 1752 <div class="flex flex-row gap-x-4 menu-drawer__menu-link-and-toggle items-center"> 1753 <a 1754 href="/collections/our-brands" 1755 class="menu-drawer__menu-item link link--text list-menu__item focus-inset flex-1" 1756 1757 > 1758 Exclusive Wines 1759 </a> 1760 1761 <details id="Details-menu-drawer-wine-exclusive-wines" class="details-link-and-toggle" > 1762 <summary 1763 id="HeaderDrawer-wine-exclusive-wines" 1764 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1765 > 1766
1767 <span class="sr-only">Exclusive Wines</span> 1768 1769 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="icon icon-arrow"> 1770 <path stroke-linecap="round" stroke-linejoin="round" d="m8.25 4.5 7.5 7.5-7.5 7.5" /> 1771</svg> 1772 1773 </summary> 1774 <div 1775 id="childlink-exclusive-wines" 1776 class="menu-drawer__submenu has-submenu gradient motion-reduce" 1777 > 1778 <button 1779 class="menu-drawer__close-button link link--text focus-inset" 1780 aria-expanded="true" 1781 > 1782 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="icon icon-arrow"> 1783 <path stroke-linecap="round" stroke-linejoin="round" d="M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18" /> 1784</svg> 1785 1786 Exclusive Wines 1787 </button> 1788 <ul 1789 class="menu-drawer__menu list-menu" 1790 role="list" 1791 tabindex="-1" 1792 ><li> 1793 <a 1794 id="HeaderDrawer-wine-exclusive-wines-ana-flores-syrah-blend" 1795 href="/collections/ana-flores-syrah-blend" 1796 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1797 1798 >Ana Flores Syrah Blend 1799 </a> 1800 </li><li> 1801 <a 1802 id="HeaderDrawer-wine-exclusive-wines-areaya-chardonnay" 1803 href="/collections/areaya-chardonnay" 1804 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1805 1806 >Areaya Chardonnay 1807 </a> 1808 </li><li> 1809 <a 1810 id="HeaderDrawer-wine-exclusive-wines-bellanima-prosecco" 1811 href="/collections/bellanima-prosecco" 1812 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1813 1814 >Bellanima Prosecco 1815 </a> 1816 </li><li> 1817 <a 1818 id="HeaderDrawer-wine-exclusive-wines-devi-sparkling-wine" 1819 href="/collections/devi-sparkling-wine" 1820 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1821 1822 >Devi Sparkling Wine 1823 </a> 1824 </li><li> 1825 <a 1826 id="HeaderDrawer-wine-exclusive-wines-honeysuckle-moscato" 1827 href="/collections/honeysuckle-moscato" 1828 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1829 1830 >Honeysuckle Moscato 1831 </a> 1832 </li><li> 1833 <a 1834 id="HeaderDrawer-wine-exclusive-wines-hutner-red-blend" 1835 href="/collections/hutner-red-blend" 1836 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1837 1838 >Hutner Red Blend 1839 </a> 1840 </li><li> 1841 <a 1842 id="HeaderDrawer-wine-exclusive-wines-motherload-red-blend" 1843 href="/collections/motherload-red-blend" 1844 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1845 1846 >Motherload Red Blend 1847 </a> 1848 </li><li> 1849 <a 1850 id="HeaderDrawer-wine-exclusive-wines-parlette-merlot" 1851 href="/collections/parlette-merlot" 1852 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1853 1854 >Parlette Merlot 1855 </a> 1856 </li><li> 1857 <a 1858 id="HeaderDrawer-wine-exclusive-wines-party-favor-wines" 1859 href="/collections/party-favor-wines" 1860 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1861 1862 >Party Favor Wines 1863 </a> 1864 </li><li> 1865 <a 1866 id="HeaderDrawer-wine-exclusive-wines-plunder-pinot-noir" 1867 href="/collections/plunder-pinot-noir" 1868 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1869 1870 >Plunder Pinot Noir 1871 </a> 1872 </li><li> 1873 <a 1874 id="HeaderDrawer-wine-exclusive-wines-savasana-rose" 1875 href="/collections/savasana-rose" 1876 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1877 1878 >Savasana Rose 1879 </a> 1880 </li><li> 1881 <a 1882 id="HeaderDrawer-wine-exclusive-wines-tafida-caber
1882net-sauvignon" 1883 href="/collections/tafida-cabernet-sauvignon" 1884 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1885 1886 >Tafida Cabernet Sauvignon 1887 </a> 1888 </li><li> 1889 <a 1890 id="HeaderDrawer-wine-exclusive-wines-wildcatter-cabernet-sauvignon" 1891 href="/collections/wildcatter-cabernet-sauvignon" 1892 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1893 1894 >Wildcatter Cabernet Sauvignon 1895 </a> 1896 </li><li> 1897 <a 1898 id="HeaderDrawer-wine-exclusive-wines-zahara-cabernet-sauvignon" 1899 href="/collections/zahara-cabernet-sauvignon" 1900 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 1901 1902 >Zahara Cabernet Sauvignon 1903 </a> 1904 </li></ul> 1905 </div> 1906 </details> 1907 1908 </div> 1909 �</li></ul> 1910 �<a href="#" class="sr-only focus-trap-link"> Skip to content </a></div> 1911 </div> 1912 </details> 1913 1914 </div> 1915 �</li><li > 1916 <div class="flex flex-row gap-x-4 menu-drawer__menu-link-and-toggle items-center menu-drawer__menu-lv-1"> 1917 <a 1918 href="/collections/liquor" 1919 class="menu-drawer__menu-item list-menu__item link link--text focus-inset flex-1 " 1920 1921 1922 > 1923 Liquor�</a> 1924 1925 <details id="Details-menu-drawer-menu-item-2" class="details-link-and-toggle" > 1926 <summary 1927 id="HeaderDrawer-liquor" 1928 class="menu-drawer__menu-item list-menu__item link link--text focus-inset " 1929 1930 > 1931 1932 <span class="sr-only">Liquor</span> 1933 1934 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="icon icon-arrow"> 1935 <path stroke-linecap="round" stroke-linejoin="round" d="m8.25 4.5 7.5 7.5-7.5 7.5" /> 1936</svg> 1937 1938 </summary> 1939 <div 1940 id="link-liquor" 1941 class="menu-drawer__submenu has-submenu gradient motion-reduce" 1942 tabindex="-1" 1943 > 1944 <div class="menu-drawer__inner-submenu"> 1945 <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> 1946 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="icon icon-arrow"> 1947 <path stroke-linecap="round" stroke-linejoin="round" d="M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18" /> 1948</svg> 1949 1950 Liquor 1951 </button> 1952 1953 <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li><a 1954 id="HeaderDrawer-liquor-cognac" 1955 href="/collections/cognac" 1956 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1957 1958 > 1959 Cognac 1960 </a></li><li><a 1961 id="HeaderDrawer-liquor-gin" 1962 href="/collections/gin" 1963 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1964 1965 > 1966 Gin 1967 </a></li><li><a 1968 id="HeaderDrawer-liquor-rum" 1969 href="/collections/rum" 1970 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1971 1972 > 1973 Rum 1974 </a></li><li><a 1975 id="HeaderDrawer-liquor-scotch" 1976 href="/collections/scotch" 1977 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1978 1979 > 1980 Scotch 1981 </a></li><li><a 1982 id="HeaderDrawer-liquor-tequila" 1983 href="/collections/tequila" 1984 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1985 1986 > 1987 Tequila 1988 </a></li><li><a 1989 id="HeaderDrawer-liquor-vodka" 1990 href="/collections/vodka" 1991 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1992 1993 > 1994 Vodka 1995 </a></li><li><a 1996 id="HeaderDrawer-liquor-whiskey" 1997 href="/collections/whiskey" 1998 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1999 2000 > 2001 Whiskey 2002 </a></li></ul> 2003 �</div> 2004 </div> 2005 </details> 2006 2007 </div> 2008 �</li><li > 2009 <div class="flex flex-row gap-x-4 menu-drawer__menu-link-and-toggle items-center menu-drawer__menu-lv-1"> 2010 <a 2011 href="/collections/accessories" 2012 class="menu-drawer__menu-item list-menu__item link link--text focus-inset flex-1 " 2013 2014 2015 > 2016 Accessories�</a> 2017 2018 <details id="Details-menu-drawer-menu-item-3" class="details-link-and-toggle" > 2019 <summary 2020 id="HeaderDrawer-accessories" 2021 class="menu-drawer__menu-item list-menu__item link link--text focus-inset " 2022 2023 > 2024
2025 <span class="sr-only">Accessories</span> 2026 2027 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="icon icon-arrow"> 2028 <path stroke-linecap="round" stroke-linejoin="round" d="m8.25 4.5 7.5 7.5-7.5 7.5" /> 2029</svg> 2030 2031 </summary> 2032 <div 2033 id="link-accessories" 2034 class="menu-drawer__submenu has-submenu gradient motion-reduce" 2035 tabindex="-1" 2036 > 2037 <div class="menu-drawer__inner-submenu"> 2038 <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> 2039 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="icon icon-arrow"> 2040 <path stroke-linecap="round" stroke-linejoin="round" d="M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18" /> 2041</svg> 2042 2043 Accessories 2044 </button> 2045 2046 <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li> 2047 <div class="flex flex-row gap-x-4 menu-drawer__menu-link-and-toggle items-center"> 2048 <a 2049 href="/collections/drinkware" 2050 class="menu-drawer__menu-item link link--text list-menu__item focus-inset flex-1" 2051 2052 > 2053 Drinkware 2054 </a> 2055 2056 <details id="Details-menu-drawer-accessories-drinkware" class="details-link-and-toggle" > 2057 <summary 2058 id="HeaderDrawer-accessories-drinkware" 2059 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2060 > 2061 2062 <span class="sr-only">Drinkware</span> 2063 2064 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="icon icon-arrow"> 2065 <path stroke-linecap="round" stroke-linejoin="round" d="m8.25 4.5 7.5 7.5-7.5 7.5" /> 2066</svg> 2067 2068 </summary> 2069 <div 2070 id="childlink-drinkware" 2071 class="menu-drawer__submenu has-submenu gradient motion-reduce" 2072 > 2073 <button 2074 class="menu-drawer__close-button link link--text focus-inset" 2075 aria-expanded="true" 2076 > 2077 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="icon icon-arrow"> 2078 <path stroke-linecap="round" stroke-linejoin="round" d="M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18" /> 2079</svg> 2080 2081 Drinkware 2082 </button> 2083 <ul 2084 class="menu-drawer__menu list-menu" 2085 role="list" 2086 tabindex="-1" 2087 ><li> 2088 <a 2089 id="HeaderDrawer-accessories-drinkware-beer-glasses" 2090 href="/collections/beer-glasses" 2091 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 2092 2093 >Beer Glasses 2094 </a> 2095 </li><li> 2096 <a 2097 id="HeaderDrawer-accessories-drinkware-wine-glasses" 2098 href="/collections/wine-glasses" 2099 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 2100 2101 >Wine Glasses 2102 </a> 2103 </li><li> 2104 <a 2105 id="HeaderDrawer-accessories-drinkware-cocktail-glasses" 2106 href="/collections/cocktail-glasses" 2107 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 2108 2109 >Cocktail Glasses 2110 </a> 2111 </li><li> 2112 <a 2113 id="HeaderDrawer-accessories-drinkware-tumblers" 2114 href="/collections/tumblers" 2115 class="menu-drawer__menu-item link link--text list-menu__item focus-inset " 2116 2117 >Tumblers 2118 </a> 2119 </li></ul> 2120 </div> 2121 </details> 2122 2123 </div> 2124 �</li><li><a 2125 id="HeaderDrawer-accessories-decanters" 2126 href="/collections/decanters" 2127 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2128 2129 > 2130 Decanters 2131 </a></li><li><a 2132 id="HeaderDrawer-accessories-wine-boxes" 2133 href="/collections/wine-boxes" 2134 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2135 2136 > 2137 Wine Boxes 2138 </a></li><li><a 2139 id="HeaderDrawer-accessories-serving-boards" 2140 href="/collections/serving-boards-coasters" 2141 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2142 2143 > 2144 Serving Boards 2145 </a></li><li><a 2146 id="HeaderDrawer-accessories-wine-gift-bags" 2147 href="/collections/wine-bags" 2148 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2149 2150 > 2151 Wine Gift Bags 2152 </a></li><li><a 2153 id="HeaderDrawer-accessories-wine-tools" 2154 href="/collections/wine-tools" 2155 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2156 2157 > 2158 Wine Tools 2159 </a></li></ul>
2160 �<a href="#" class="sr-only focus-trap-link"> Skip to content </a></div> 2161 </div> 2162 </details> 2163 2164 </div> 2165 �</li><li ><a 2166 id="HeaderDrawer-wine-labels" 2167 href="/collections/wine-labels" 2168 class="menu-drawer__menu-item list-menu__item link link--text focus-inset " 2169 2170 2171 > 2172 Wine Labels 2173 2174 </a></li><li > 2175 <div class="flex flex-row gap-x-4 menu-drawer__menu-link-and-toggle items-center menu-drawer__menu-lv-1"> 2176 <a 2177 href="/collections/occasions" 2178 class="menu-drawer__menu-item list-menu__item link link--text focus-inset flex-1 " 2179 2180 2181 > 2182 Occasions�</a> 2183 2184 <details id="Details-menu-drawer-menu-item-5" class="details-link-and-toggle" > 2185 <summary 2186 id="HeaderDrawer-occasions" 2187 class="menu-drawer__menu-item list-menu__item link link--text focus-inset " 2188 2189 > 2190 2191 <span class="sr-only">Occasions</span> 2192 2193 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="icon icon-arrow"> 2194 <path stroke-linecap="round" stroke-linejoin="round" d="m8.25 4.5 7.5 7.5-7.5 7.5" /> 2195</svg> 2196 2197 </summary> 2198 <div 2199 id="link-occasions" 2200 class="menu-drawer__submenu has-submenu gradient motion-reduce" 2201 tabindex="-1" 2202 > 2203 <div class="menu-drawer__inner-submenu"> 2204 <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> 2205 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="icon icon-arrow"> 2206 <path stroke-linecap="round" stroke-linejoin="round" d="M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18" /> 2207</svg> 2208 2209 Occasions 2210 </button> 2211 2212 <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li><a 2213 id="HeaderDrawer-occasions-anniversary" 2214 href="/collections/anniversary-wine-gifts" 2215 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2216 2217 > 2218 Anniversary 2219 </a></li><li><a 2220 id="HeaderDrawer-occasions-birthday" 2221 href="/collections/birthday-wine-gifts" 2222 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2223 2224 > 2225 Birthday 2226 </a></li><li><a 2227 id="HeaderDrawer-occasions-bridesmaid" 2228 href="/collections/bridesmaid-wine-gifts" 2229 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2230 2231 > 2232 Bridesmaid 2233 </a></li><li><a 2234 id="HeaderDrawer-occasions-corporate" 2235 href="/collections/corporate-wine-gifts" 2236 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2237 2238 > 2239 Corporate 2240 </a></li><li><a 2241 id="HeaderDrawer-occasions-engagement" 2242 href="/collections/engagement-wine-gifts" 2243 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2244 2245 > 2246 Engagement 2247 </a></li><li><a 2248 id="HeaderDrawer-occasions-event-party" 2249 href="/collections/event-party-wine-gifts" 2250 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2251 2252 > 2253 Event/Party 2254 </a></li><li><a 2255 id="HeaderDrawer-occasions-fathers-day" 2256 href="/collections/fathers-day-wine-gifts" 2257 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2258 2259 > 2260 Father's Day 2261 </a></li><li><a 2262 id="HeaderDrawer-occasions-funny" 2263 href="/collections/humor" 2264 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2265 2266 > 2267 Funny 2268 </a></li><li><a 2269 id="HeaderDrawer-occasions-graduation" 2270 href="/collections/graduation-wine-gifts" 2271 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2272 2273 > 2274 Graduation 2275 </a></li><li><a 2276 id="HeaderDrawer-occasions-halloween" 2277 href="/collections/halloween" 2278 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2279 2280 > 2281 Halloween 2282 </a></li><li><a 2283 id="HeaderDrawer-occasions-housewarming" 2284 href="/collections/housewarming-wine-gifts" 2285 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2286 2287 > 2288 Housewarming 2289 </a></li><li><a 2290 id="HeaderDrawer-occasions-mothers-day" 2291 href="/collections/mothers-day-wine-gifts" 2292 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2293 2294 > 2295 Mother's Day 2296 </a></li><li><a 2297 id="HeaderDrawer-occasions-pet-lovers" 2298 href="/collections/pets" 2299 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2300 2301 > 2302 Pet Lovers 2303 </a></li><li><a 2304 id="HeaderDrawer-occasions-retirement" 2305 href="/collections/retirement-wine-gifts" 2306 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2307 2308 > 2309 Retirement 2310 </a></li><li><a 2311 id="HeaderDrawer-occasions-valentines-day" 2312 href="/collections/valentines-day-wine-gifts" 2313 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2314 2315 > 2316 Valentine's Day 2317 </a></li><li><a 2318 id="HeaderDrawer-occasions-wedding"
2319 href="/collections/wedding-wine-gifts" 2320 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2321 2322 > 2323 Wedding 2324 </a></li></ul> 2325 �</div> 2326 </div> 2327 </details> 2328 2329 </div> 2330 �</li><li > 2331 <div class="flex flex-row gap-x-4 menu-drawer__menu-link-and-toggle items-center menu-drawer__menu-lv-1"> 2332 <a 2333 href="/pages/wine-gifts" 2334 class="menu-drawer__menu-item list-menu__item link link--text focus-inset flex-1 " 2335 2336 2337 > 2338 Gifting Resources�</a> 2339 2340 <details id="Details-menu-drawer-menu-item-6" class="details-link-and-toggle" > 2341 <summary 2342 id="HeaderDrawer-gifting-resources" 2343 class="menu-drawer__menu-item list-menu__item link link--text focus-inset " 2344 2345 > 2346 2347 <span class="sr-only">Gifting Resources</span> 2348 2349 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="icon icon-arrow"> 2350 <path stroke-linecap="round" stroke-linejoin="round" d="m8.25 4.5 7.5 7.5-7.5 7.5" /> 2351</svg> 2352 2353 </summary> 2354 <div 2355 id="link-gifting-resources" 2356 class="menu-drawer__submenu has-submenu gradient motion-reduce" 2357 tabindex="-1" 2358 > 2359 <div class="menu-drawer__inner-submenu"> 2360 <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> 2361 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="icon icon-arrow"> 2362 <path stroke-linecap="round" stroke-linejoin="round" d="M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18" /> 2363</svg> 2364 2365 Gifting Resources 2366 </button> 2367 2368 <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li><a 2369 id="HeaderDrawer-gifting-resources-champagne-gifts" 2370 href="/pages/champagne-gifts" 2371 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2372 2373 > 2374 Champagne Gifts 2375 </a></li><li><a 2376 id="HeaderDrawer-gifting-resources-corporate-gifts" 2377 href="/pages/luxury-corporate-gifts" 2378 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2379 2380 > 2381 Corporate Gifts 2382 </a></li><li><a 2383 id="HeaderDrawer-gifting-resources-holiday-gifts" 2384 href="/pages/holiday-gifts" 2385 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2386 2387 > 2388 Holiday Gifts 2389 </a></li><li><a 2390 id="HeaderDrawer-gifting-resources-photo-engraved-boxes" 2391 href="/pages/photo-engraved-wine-box" 2392 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2393 2394 > 2395 Photo Engraved Boxes 2396 </a></li><li><a 2397 id="HeaderDrawer-gifting-resources-real-estate-gifts" 2398 href="/pages/real-estate-gifts" 2399 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2400 2401 > 2402 Real Estate Gifts 2403 </a></li><li><a 2404 id="HeaderDrawer-gifting-resources-wedding-gifts" 2405 href="/pages/weddings" 2406 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2407 2408 > 2409 Wedding Gifts 2410 </a></li></ul> 2411 �</div> 2412 </div> 2413 </details> 2414 2415 </div> 2416 �</li></ul> 2417 </nav> 2418 <div class="menu-drawer__utility-links flex flex-col gap-y-2"> 2419 <div class="flex flex-row gap-x-10 items-center"><a 2420 href="https://account.personalwine.com/profile" 2421 class="menu-drawer__account link focus-inset medium-hide large-up-hide" 2422 > 2423 <account-icon> 2424<svg aria-hidden="true" fill="none" focusable="false" width="24" viewBox="0 0 24 24" stroke-width="var(--icon-stroke-width)" stroke="currentColor" class="icon icon-account">
2425 <path d="M16.1255 7.75C15.9415 10.228 14.0625 12.25 12.0005 12.25C9.93847 12.25 8.05647 10.229 7.87547 7.75C7.68847 5.172 9.51547 3.25 12.0005 3.25C14.4845 3.25 16.3135 5.219 16.1255 7.75Z" stroke-linecap="round" stroke-linejoin="round"/> 2426 <path d="M3.0166 21.747C3.7826 17.5 7.9216 15.25 11.9996 15.25C16.0776 15.25 20.2166 17.5 20.9836 21.747" stroke-miterlimit="10"/> 2427</svg>�</account-icon>Log in</a><div class="menu-drawer__localization header-localization flex flex-row gap-x-8">�</div></div> 2428 <ul class="list list-social list-unstyled" role="list"><li class="list-social__item"> 2429 <a href="https://x.com/personalwine" class="list-social__link link"><svg aria-hidden="true" focusable="false" class="icon icon-twitter" viewBox="0 0 20 20"> 2430 <path fill-rule="evenodd" clip-rule="evenodd" d="M7.27274 2.8L10.8009 7.82176L15.2183 2.8H16.986L11.5861 8.93887L17.3849 17.1928H12.7272L8.99645 11.8828L4.32555 17.1928H2.55769L8.21157 10.7657L2.61506 2.8H7.27274ZM13.5151 15.9248L5.06895 4.10931H6.4743L14.9204 15.9248H13.5151Z" fill="currentColor"/> 2431</svg> 2432<span class="visually-hidden">X (Twitter)</span> 2433 </a> 2434 </li><li class="list-social__item"> 2435 <a href="https://www.facebook.com/personalwine" class="list-social__link link"><svg aria-hidden="true" focusable="false" class="icon icon-facebook" viewBox="0 0 20 20"> 2436 <path fill="currentColor" 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"/> 2437</svg> 2438<span class="visually-hidden">Facebook</span> 2439 </a> 2440 </li><li class="list-social__item"> 2441 <a href="https://in.pinterest.com/personalwine" class="list-social__link link"><svg aria-hidden="true" focusable="false" class="icon icon-pinterest" viewBox="0 0 20 20"> 2442 <path fill="currentColor" d="M10 2.01c2.124.01 4.16.855 5.666 2.353a8.087 8.087 0 0 1 1.277 9.68A7.952 7.952 0 0 1 10 18.04a8.164 8.164 0 0 1-2.276-.307c.403-.653.672-1.24.816-1.729l.567-2.2c.134.27.393.5.768.702.384.192.768.297 1.19.297.836 0 1.585-.24 2.248-.72a4.678 4.678 0 0 0 1.537-1.969c.37-.89.554-1.848.537-2.813 0-1.249-.48-2.315-1.43-3.227a5.061 5.061 0 0 0-3.65-1.374c-.893 0-1.729.154-2.478.461a5.023 5.023 0 0 0-3.236 4.552c0 .72.134 1.355.413 1.902.269.538.672.922 1.22 1.152.096.039.182.039.25 0 .066-.028.114-.096.143-.192l.173-.653c.048-.144.02-.288-.105-.432a2.257 2.257 0 0 1-.548-1.565 3.803 3.803 0 0 1 3.976-3.861c1.047 0 1.863.288 2.44.855.585.576.883 1.315.883 2.228 0 .768-.106 1.479-.317 2.122a3.813 3.813 0 0 1-.893 1.556c-.384.384-.836.576-1.345.576-.413 0-.749-.144-1.018-.451-.259-.307-.345-.672-.25-1.085.147-.514.298-1.026.452-1.537l.173-.701c.057-.25.086-.451.086-.624 0-.346-.096-.634-.269-.855-.192-.22-.451-.336-.797-.336-.432 0-.797.192-1.085.595-.288.394-.442.893-.442 1.499.005.374.063.746.173 1.104l.058.144c-.576 2.478-.913 3.938-1.037 4.36-.116.528-.154 1.153-.125 1.863A8.067 8.067 0 0 1 2 10.03c0-2.208.778-4.11 2.343-5.666A7.721 7.721 0 0 1 10 2.001v.01Z"/> 2443</svg> 2444<span class="visually-hidden">Pinterest</span> 2445 </a> 2446 </li><li class="list-social__item"> 2447 <a href="https://www.instagram.com/personalwine" class="list-social__link link"><svg aria-hidden="true" focusable="false" class="icon icon-instagram" viewBox="0 0 20 20"> 2448 <path fill="currentColor" fill-rule="evenodd" 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" clip-rule="evenodd"/> 2449</svg> 2450<span class="visually-hidden">Instagram</span> 2451 </a> 2452 </li></ul>
2453 <a href="#" class="sr-only focus-trap-link-close"> Skip to content </a> 2454 </div> 2455 </div> 2456 </div> 2457 </div> 2458 </details> 2459</header-drawer> 2460 2461<div class="header__logo"> 2462 <a href="/" class="header__heading-link link link--text focus-inset"> 2463 2464 2465 <img src="//www.personalwine.com/cdn/shop/files/Frame_106_3.png?v=1762491909&width=600" alt="Gold champagne glass icon next to PERSONALWINE in gold capital letters on a light background." srcset="//www.personalwine.com/cdn/shop/files/Frame_106_3.png?v=1762491909&width=200 200w, //www.personalwine.com/cdn/shop/files/Frame_106_3.png?v=1762491909&width=300 300w, //www.personalwine.com/cdn/shop/files/Frame_106_3.png?v=1762491909&width=400 400w" width="200" height="43" loading="eager" class="header__heading-logo motion-reduce" sizes="(max-width: 400px) 50vw, 200px">�</a> 2466 <div class="custom-serch-model"> 2467 2468 2469<div class="header__search"> 2470 <drawer-button class="open-drawer-btn header__icon focus-inset cursor-pointer" data-target="drawer-search" role="button" aria-label="Search" tabindex="0"> 2471 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" class="size-7 icon"> 2472<path d="M17 17L21 21" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"></path> 2473<path d="M19 11C19 6.58172 15.4183 3 11 3C6.58172 3 3 6.58172 3 11C3 15.4183 6.58172 19 11 19C15.4183 19 19 15.4183 19 11Z" stroke-width="var(--icon-stroke-width)" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path> 2474</svg> 2475 2476 <div class="search-text-main">Search for <span class="search-text-place">Wedding Gift</span></div> 2477 </drawer-button> 2478 2479</div> 2480 2481 </div> 2482 </div><div class="header__icons header__icons--localization header-localization"><div class="info-pills hidden--mobile"> 2483 <!-- Pill 1 --> 2484 <a class="pill pill--shipping" href="#" aria-label="Check delivery availability"> 2485 <!-- Truck icon (SVG) --> 2486 <img class="pill__icon" alt="Delivery truck icon" src="https://cdn.shopify.com/s/files/1/0777/4601/2381/files/Vector_8.svg?v=1762496305"> 2487 <span class="pill__text"> 2488 When Can I Get It? 2489 <span class="pill__cta">Zip Code</span> 2490 </span> 2491 </a> 2492 2493 <div class="pill"> 2494 2495 <span class="pill__text">Need Help?</span> 2496 2497 <div class="pill__actions"> 2498 2499 <span class="pill__item " onclick="toggleTooltip(this)"> 2500 Call 2501 <span class="tooltip"> 2502 <a href="tel:+15124769463">(512) 476-9463</a> 2503 </span> 2504 </span> 2505<span style="color: #ffffff;">or</span> 2506 <span class="pill__item" onclick="toggleTooltip(this)"> 2507 Email 2508 <span class="tooltip"> 2509 <a href="mailto:[email protected]"> 2510 [email protected] 2511 </a> 2512 </span> 2513 </span> 2514 2515 </div> 2516 2517</div> 2518 </div><div class="desktop-localization-wrapper">�</div> 2519 2520<div class="header__search"> 2521 <drawer-button class="open-drawer-btn header__icon focus-inset cursor-pointer" data-target="drawer-search" role="button" aria-label="Search" tabindex="0"> 2522 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" class="size-7 icon"> 2523<path d="M17 17L21 21" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"></path> 2524<path d="M19 11C19 6.58172 15.4183 3 11 3C6.58172 3 3 6.58172 3 11C3 15.4183 6.58172 19 11 19C15.4183 19 19 15.4183 19 11Z" stroke-width="var(--icon-stroke-width)" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path> 2525</svg> 2526 2527 <div class="search-text-main">Search for <span class="search-text-place">Wedding Gift</span></div> 2528 </drawer-button> 2529 2530</div> 2531�<a href="https://account.personalwine.com/profile" class="header__icon header__icon--account link focus-inset small-hide"> 2532 <account-icon> 2533<svg aria-hidden="true" fill="none" focusable="false" width="24" viewBox="0 0 24 24" stroke-width="var(--icon-stroke-width)" stroke="currentColor" class="icon icon-account">
2534 <path d="M16.1255 7.75C15.9415 10.228 14.0625 12.25 12.0005 12.25C9.93847 12.25 8.05647 10.229 7.87547 7.75C7.68847 5.172 9.51547 3.25 12.0005 3.25C14.4845 3.25 16.3135 5.219 16.1255 7.75Z" stroke-linecap="round" stroke-linejoin="round"/> 2535 <path d="M3.0166 21.747C3.7826 17.5 7.9216 15.25 11.9996 15.25C16.0776 15.25 20.2166 17.5 20.9836 21.747" stroke-miterlimit="10"/> 2536</svg>�</account-icon> 2537 <span class="visually-hidden">Log in</span> 2538 </a><a href="/cart" class="header__icon header__icon--cart link focus-inset" id="cart-icon-bubble" data-no-transition > 2539 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon icon-cart w-7"> 2540 <path d="M15.9996 8C15.9996 9.06087 15.5782 10.0783 14.828 10.8284C14.0779 11.5786 13.0605 12 11.9996 12C10.9387 12 9.92131 11.5786 9.17116 10.8284C8.42102 10.0783 7.99959 9.06087 7.99959 8M3.63281 7.40138L2.93281 15.8014C2.78243 17.6059 2.70724 18.5082 3.01227 19.2042C3.28027 19.8157 3.74462 20.3204 4.33177 20.6382C5.00006 21 5.90545 21 7.71623 21H16.283C18.0937 21 18.9991 21 19.6674 20.6382C20.2546 20.3204 20.7189 19.8157 20.9869 19.2042C21.2919 18.5082 21.2167 17.6059 21.0664 15.8014L20.3664 7.40138C20.237 5.84875 20.1723 5.07243 19.8285 4.48486C19.5257 3.96744 19.0748 3.5526 18.5341 3.29385C17.92 3 17.141 3 15.583 3L8.41623 3C6.85821 3 6.07921 3 5.4651 3.29384C4.92433 3.5526 4.47349 3.96744 4.17071 4.48486C3.82689 5.07243 3.76219 5.84875 3.63281 7.40138Z" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2541 </svg> 2542 2543 2544 <span class="visually-hidden">Cart</span></a> 2545 </div> 2546 </div> 2547 2548<nav class="header__inline-menu h-full"> 2549 <ul class="list-menu list-menu--inline flex h-full items-center" role="list"><li class="list-menu__items list-menu__has-dropdown relative" data-text="Wine"><a href="/collections/wine" 2550 class="header__menu-item list-menu__item focus-inset relative h-full " 2551 > 2552 <span class="h-full flex items-center list-menu__item-text">Wine</span><svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> 2553 <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> 2554</svg> 2555 2556 </a><div 2557 class="header__submenu header__submenu-dropdown list-menu--disclosure gradient caption-large motion-reduce global-settings-popup py-6" 2558 tabindex="-1" 2559 > 2560 <ul class="list-menu menu__animation" role="list"><li class="list-menu__children list-menu__children-has-sub "><div class="relative"> 2561 <div 2562 class="flex justify-between list-menu__item " 2563 > 2564 <a class="flex-1 list-menu__children-link" href="/collections/red-wines">Red</a> 2565 <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> 2566 <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> 2567</svg> 2568 2569 </div> 2570 <ul 2571 class="header__submenu list-menu motion-reduce absolute left-full top-0 global-settings-popup" 2572 tabindex="-1" 2573 role="list" 2574 ><li> 2575 <a 2576 href="/collections/cabernet-sauvignon" 2577 class="list-menu__children-link list-menu__item " 2578 2579 > 2580 Cabernet Sauvignon 2581 </a> 2582 </li><li> 2583 <a 2584 href="/collections/grenache" 2585 class="list-menu__children-link list-menu__item "
2586 2587 > 2588 Grenache 2589 </a> 2590 </li><li> 2591 <a 2592 href="/collections/malbec" 2593 class="list-menu__children-link list-menu__item " 2594 2595 > 2596 Malbec 2597 </a> 2598 </li><li> 2599 <a 2600 href="/collections/merlot" 2601 class="list-menu__children-link list-menu__item " 2602 2603 > 2604 Merlot 2605 </a> 2606 </li><li> 2607 <a 2608 href="/collections/pinot-noir" 2609 class="list-menu__children-link list-menu__item " 2610 2611 > 2612 Pinot Noir 2613 </a> 2614 </li><li> 2615 <a 2616 href="/collections/red-blends" 2617 class="list-menu__children-link list-menu__item " 2618 2619 > 2620 Red Blends 2621 </a> 2622 </li><li> 2623 <a 2624 href="/collections/syrah" 2625 class="list-menu__children-link list-menu__item " 2626 2627 > 2628 Syrah 2629 </a> 2630 </li><li> 2631 <a 2632 href="/collections/tempranillo" 2633 class="list-menu__children-link list-menu__item " 2634 2635 > 2636 Tempranillo 2637 </a> 2638 </li><li> 2639 <a 2640 href="/collections/zinfandel" 2641 class="list-menu__children-link list-menu__item " 2642 2643 > 2644 Zinfandel 2645 </a> 2646 </li></ul> 2647 </div></li><li class="list-menu__children list-menu__children-has-sub "><div class="relative"> 2648 <div 2649 class="flex justify-between list-menu__item " 2650 > 2651 <a class="flex-1 list-menu__children-link" href="/collections/white-wines">White</a> 2652 <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> 2653 <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> 2654</svg> 2655 2656 </div> 2657 <ul 2658 class="header__submenu list-menu motion-reduce absolute left-full top-0 global-settings-popup" 2659 tabindex="-1" 2660 role="list" 2661 ><li> 2662 <a 2663 href="/collections/chardonnay" 2664 class="list-menu__children-link list-menu__item " 2665 2666 > 2667 Chardonnay 2668 </a> 2669 </li><li> 2670 <a 2671 href="/collections/moscato" 2672 class="list-menu__children-link list-menu__item "
2673 2674 > 2675 Moscato 2676 </a> 2677 </li><li> 2678 <a 2679 href="/collections/pinot-grigio" 2680 class="list-menu__children-link list-menu__item " 2681 2682 > 2683 Pinot Grigio 2684 </a> 2685 </li><li> 2686 <a 2687 href="/collections/riesling" 2688 class="list-menu__children-link list-menu__item " 2689 2690 > 2691 Riesling 2692 </a> 2693 </li><li> 2694 <a 2695 href="/collections/sauvignon-blanc" 2696 class="list-menu__children-link list-menu__item " 2697 2698 > 2699 Sauvignon Blanc 2700 </a> 2701 </li><li> 2702 <a 2703 href="/collections/white-blends" 2704 class="list-menu__children-link list-menu__item " 2705 2706 > 2707 White Blends 2708 </a> 2709 </li></ul> 2710 </div></li><li class="list-menu__children "><a 2711 href="/collections/rose-wines" 2712 class="list-menu__item " 2713 2714 > 2715 Rosé 2716 </a></li><li class="list-menu__children list-menu__children-has-sub "><div class="relative"> 2717 <div 2718 class="flex justify-between list-menu__item " 2719 > 2720 <a class="flex-1 list-menu__children-link" href="/collections/sparkling-wines">Sparkling</a> 2721 <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> 2722 <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> 2723</svg> 2724 2725 </div> 2726 <ul 2727 class="header__submenu list-menu motion-reduce absolute left-full top-0 global-settings-popup" 2728 tabindex="-1" 2729 role="list" 2730 ><li> 2731 <a 2732 href="/collections/cava" 2733 class="list-menu__children-link list-menu__item " 2734 2735 > 2736 Cava 2737 </a> 2738 </li><li> 2739 <a 2740 href="/collections/champagne" 2741 class="list-menu__children-link list-menu__item " 2742 2743 > 2744 Champagne 2745 </a> 2746 </li><li> 2747 <a 2748 href="/collections/prosecco" 2749 class="list-menu__children-link list-menu__item " 2750 2751 > 2752 Prosecco 2753 </a> 2754 </li></ul> 2755 </div></li><li class="list-menu__children "><a 2756 href="/collections/non-alcoholic-wines" 2757 class="list-menu__item "
2758 2759 > 2760 Non-Alcoholic 2761 </a></li><li class="list-menu__children "><a 2762 href="/collections/mini-wine-bottles" 2763 class="list-menu__item " 2764 2765 > 2766 Mini Bottles 2767 </a></li><li class="list-menu__children "><a 2768 href="/collections/half-bottles" 2769 class="list-menu__item " 2770 2771 > 2772 Half Bottles 2773 </a></li><li class="list-menu__children "><a 2774 href="/collections/large-format-wines" 2775 class="list-menu__item " 2776 2777 > 2778 Large Format 2779 </a></li><li class="list-menu__children "><a 2780 href="/collections/wine-gift-sets" 2781 class="list-menu__item " 2782 2783 > 2784 Wine Gift Sets 2785 </a></li><li class="list-menu__children "><a 2786 href="/collections/wine-tasting-sets" 2787 class="list-menu__item " 2788 2789 > 2790 Wine Tasting Sets 2791 </a></li><li class="list-menu__children "><a 2792 href="/collections/collector-wines" 2793 class="list-menu__item " 2794 2795 > 2796 Collector Wines 2797 </a></li><li class="list-menu__children list-menu__children-has-sub "><div class="relative"> 2798 <div 2799 class="flex justify-between list-menu__item " 2800 > 2801 <a class="flex-1 list-menu__children-link" href="/collections/our-brands">Exclusive Wines</a> 2802 <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> 2803 <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> 2804</svg> 2805 2806 </div> 2807 <ul 2808 class="header__submenu list-menu motion-reduce absolute left-full top-0 global-settings-popup" 2809 tabindex="-1" 2810 role="list" 2811 ><li> 2812 <a 2813 href="/collections/ana-flores-syrah-blend" 2814 class="list-menu__children-link list-menu__item " 2815 2816 > 2817 Ana Flores Syrah Blend 2818 </a> 2819 </li><li> 2820 <a 2821 href="/collections/areaya-chardonnay" 2822 class="list-menu__children-link list-menu__item " 2823 2824 > 2825 Areaya Chardonnay 2826 </a> 2827 </li><li> 2828 <a 2829 href="/collections/bellanima-prosecco" 2830 class="list-menu__children-link list-menu__item " 2831 2832 > 2833 Bellanima Prosecco 2834 </a> 2835 </li><li> 2836 <a 2837 href="/collections/devi-sparkling-wine" 2838 class="list-menu__children-link list-menu__item "
2839 2840 > 2841 Devi Sparkling Wine 2842 </a> 2843 </li><li> 2844 <a 2845 href="/collections/honeysuckle-moscato" 2846 class="list-menu__children-link list-menu__item " 2847 2848 > 2849 Honeysuckle Moscato 2850 </a> 2851 </li><li> 2852 <a 2853 href="/collections/hutner-red-blend" 2854 class="list-menu__children-link list-menu__item " 2855 2856 > 2857 Hutner Red Blend 2858 </a> 2859 </li><li> 2860 <a 2861 href="/collections/motherload-red-blend" 2862 class="list-menu__children-link list-menu__item " 2863 2864 > 2865 Motherload Red Blend 2866 </a> 2867 </li><li> 2868 <a 2869 href="/collections/parlette-merlot" 2870 class="list-menu__children-link list-menu__item " 2871 2872 > 2873 Parlette Merlot 2874 </a> 2875 </li><li> 2876 <a 2877 href="/collections/party-favor-wines" 2878 class="list-menu__children-link list-menu__item " 2879 2880 > 2881 Party Favor Wines 2882 </a> 2883 </li><li> 2884 <a 2885 href="/collections/plunder-pinot-noir" 2886 class="list-menu__children-link list-menu__item " 2887 2888 > 2889 Plunder Pinot Noir 2890 </a> 2891 </li><li> 2892 <a 2893 href="/collections/savasana-rose" 2894 class="list-menu__children-link list-menu__item " 2895 2896 > 2897 Savasana Rose 2898 </a> 2899 </li><li> 2900 <a 2901 href="/collections/tafida-cabernet-sauvignon" 2902 class="list-menu__children-link list-menu__item " 2903 2904 > 2905 Tafida Cabernet Sauvignon 2906 </a> 2907 </li><li> 2908 <a 2909 href="/collections/wildcatter-cabernet-sauvignon" 2910 class="list-menu__children-link list-menu__item " 2911 2912 > 2913 Wildcatter Cabernet Sauvignon 2914 </a> 2915 </li><li> 2916 <a 2917 href="/collections/zahara-cabernet-sauvignon" 2918 class="list-menu__children-link list-menu__item " 2919 2920 > 2921 Zahara Cabernet Sauvignon 2922 </a> 2923 </li></ul> 2924 </div></li></ul> 2925 </div></li><li class="list-menu__items list-menu__has-dropdown relative" data-text="Liquor"><a href="/collections/liquor" 2926 class="header__menu-item list-menu__item focus-inset relative h-full " 2927 >
2928 <span class="h-full flex items-center list-menu__item-text">Liquor</span><svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> 2929 <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> 2930</svg> 2931 2932 </a><div 2933 class="header__submenu header__submenu-dropdown list-menu--disclosure gradient caption-large motion-reduce global-settings-popup py-6" 2934 tabindex="-1" 2935 > 2936 <ul class="list-menu menu__animation" role="list"><li class="list-menu__children "><a 2937 href="/collections/cognac" 2938 class="list-menu__item " 2939 2940 > 2941 Cognac 2942 </a></li><li class="list-menu__children "><a 2943 href="/collections/gin" 2944 class="list-menu__item " 2945 2946 > 2947 Gin 2948 </a></li><li class="list-menu__children "><a 2949 href="/collections/rum" 2950 class="list-menu__item " 2951 2952 > 2953 Rum 2954 </a></li><li class="list-menu__children "><a 2955 href="/collections/scotch" 2956 class="list-menu__item " 2957 2958 > 2959 Scotch 2960 </a></li><li class="list-menu__children "><a 2961 href="/collections/tequila" 2962 class="list-menu__item " 2963 2964 > 2965 Tequila 2966 </a></li><li class="list-menu__children "><a 2967 href="/collections/vodka" 2968 class="list-menu__item " 2969 2970 > 2971 Vodka 2972 </a></li><li class="list-menu__children "><a 2973 href="/collections/whiskey" 2974 class="list-menu__item " 2975 2976 > 2977 Whiskey 2978 </a></li></ul> 2979 </div></li><li class="list-menu__items list-menu__has-dropdown relative" data-text="Accessories"><a href="/collections/accessories" 2980 class="header__menu-item list-menu__item focus-inset relative h-full " 2981 > 2982 <span class="h-full flex items-center list-menu__item-text">Accessories</span><svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> 2983 <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> 2984</svg> 2985 2986 </a><div 2987 class="header__submenu header__submenu-dropdown list-menu--disclosure gradient caption-large motion-reduce global-settings-popup py-6" 2988 tabindex="-1" 2989 > 2990 <ul class="list-menu menu__animation" role="list"><li class="list-menu__children list-menu__children-has-sub "><div class="relative"> 2991 <div 2992 class="flex justify-between list-menu__item " 2993 > 2994 <a class="flex-1 list-menu__children-link" href="/collections/drinkware">Drinkware</a> 2995 <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> 2996 <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> 2997</svg> 2998 2999 </div> 3000 <ul 3001 class="header__submenu list-menu motion-reduce absolute left-full top-0 global-settings-popup" 3002 tabindex="-1" 3003 role="list" 3004 ><li> 3005 <a 3006 href="/collections/beer-glasses" 3007 class="list-menu__children-link list-menu__item "
3008 3009 > 3010 Beer Glasses 3011 </a> 3012 </li><li> 3013 <a 3014 href="/collections/wine-glasses" 3015 class="list-menu__children-link list-menu__item " 3016 3017 > 3018 Wine Glasses 3019 </a> 3020 </li><li> 3021 <a 3022 href="/collections/cocktail-glasses" 3023 class="list-menu__children-link list-menu__item " 3024 3025 > 3026 Cocktail Glasses 3027 </a> 3028 </li><li> 3029 <a 3030 href="/collections/tumblers" 3031 class="list-menu__children-link list-menu__item " 3032 3033 > 3034 Tumblers 3035 </a> 3036 </li></ul> 3037 </div></li><li class="list-menu__children "><a 3038 href="/collections/decanters" 3039 class="list-menu__item " 3040 3041 > 3042 Decanters 3043 </a></li><li class="list-menu__children "><a 3044 href="/collections/wine-boxes" 3045 class="list-menu__item " 3046 3047 > 3048 Wine Boxes 3049 </a></li><li class="list-menu__children "><a 3050 href="/collections/serving-boards-coasters" 3051 class="list-menu__item " 3052 3053 > 3054 Serving Boards 3055 </a></li><li class="list-menu__children "><a 3056 href="/collections/wine-bags" 3057 class="list-menu__item " 3058 3059 > 3060 Wine Gift Bags 3061 </a></li><li class="list-menu__children "><a 3062 href="/collections/wine-tools" 3063 class="list-menu__item " 3064 3065 > 3066 Wine Tools 3067 </a></li></ul> 3068 </div></li><li class="list-menu__items " data-text="Wine Labels"><a 3069 href="/collections/wine-labels" 3070 class="header__menu-item list-menu__item focus-inset h-full relative " 3071 3072 3073 > 3074 <span class="h-full flex items-center list-menu__item-text">Wine Labels</span> 3075 3076 </a></li><li class="list-menu__items list-menu__has-dropdown relative" data-text="Occasions"><a href="/collections/occasions" 3077 class="header__menu-item list-menu__item focus-inset relative h-full " 3078 > 3079 <span class="h-full flex items-center list-menu__item-text">Occasions</span><svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> 3080 <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> 3081</svg> 3082 3083 </a><div 3084 class="header__submenu header__submenu-dropdown list-menu--disclosure gradient caption-large motion-reduce global-settings-popup py-6" 3085 tabindex="-1" 3086 > 3087 <ul class="list-menu menu__animation" role="list"><li class="list-menu__children "><a 3088 href="/collections/anniversary-wine-gifts" 3089 class="list-menu__item "
3090 3091 > 3092 Anniversary 3093 </a></li><li class="list-menu__children "><a 3094 href="/collections/birthday-wine-gifts" 3095 class="list-menu__item " 3096 3097 > 3098 Birthday 3099 </a></li><li class="list-menu__children "><a 3100 href="/collections/bridesmaid-wine-gifts" 3101 class="list-menu__item " 3102 3103 > 3104 Bridesmaid 3105 </a></li><li class="list-menu__children "><a 3106 href="/collections/corporate-wine-gifts" 3107 class="list-menu__item " 3108 3109 > 3110 Corporate 3111 </a></li><li class="list-menu__children "><a 3112 href="/collections/engagement-wine-gifts" 3113 class="list-menu__item " 3114 3115 > 3116 Engagement 3117 </a></li><li class="list-menu__children "><a 3118 href="/collections/event-party-wine-gifts" 3119 class="list-menu__item " 3120 3121 > 3122 Event/Party 3123 </a></li><li class="list-menu__children "><a 3124 href="/collections/fathers-day-wine-gifts" 3125 class="list-menu__item " 3126 3127 > 3128 Father's Day 3129 </a></li><li class="list-menu__children "><a 3130 href="/collections/humor" 3131 class="list-menu__item " 3132 3133 > 3134 Funny 3135 </a></li><li class="list-menu__children "><a 3136 href="/collections/graduation-wine-gifts" 3137 class="list-menu__item " 3138 3139 > 3140 Graduation 3141 </a></li><li class="list-menu__children "><a 3142 href="/collections/halloween" 3143 class="list-menu__item " 3144 3145 > 3146 Halloween 3147 </a></li><li class="list-menu__children "><a 3148 href="/collections/housewarming-wine-gifts" 3149 class="list-menu__item " 3150 3151 > 3152 Housewarming 3153 </a></li><li class="list-menu__children "><a 3154 href="/collections/mothers-day-wine-gifts" 3155 class="list-menu__item " 3156 3157 > 3158 Mother's Day 3159 </a></li><li class="list-menu__children "><a 3160 href="/collections/pets" 3161 class="list-menu__item " 3162 3163 > 3164 Pet Lovers 3165 </a></li><li class="list-menu__children "><a 3166 href="/collections/retirement-wine-gifts" 3167 class="list-menu__item " 3168 3169 > 3170 Retirement 3171 </a></li><li class="list-menu__children "><a 3172 href="/collections/valentines-day-wine-gifts" 3173 class="list-menu__item " 3174 3175 > 3176 Valentine's Day 3177 </a></li><li class="list-menu__children "><a 3178 href="/collections/wedding-wine-gifts" 3179 class="list-menu__item "
3180 3181 > 3182 Wedding 3183 </a></li></ul> 3184 </div></li><li class="list-menu__items list-menu__has-dropdown relative" data-text="Gifting Resources"><a href="/pages/wine-gifts" 3185 class="header__menu-item list-menu__item focus-inset relative h-full " 3186 > 3187 <span class="h-full flex items-center list-menu__item-text">Gifting Resources</span><svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> 3188 <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> 3189</svg> 3190 3191 </a><div 3192 class="header__submenu header__submenu-dropdown list-menu--disclosure gradient caption-large motion-reduce global-settings-popup py-6" 3193 tabindex="-1" 3194 > 3195 <ul class="list-menu menu__animation" role="list"><li class="list-menu__children "><a 3196 href="/pages/champagne-gifts" 3197 class="list-menu__item " 3198 3199 > 3200 Champagne Gifts 3201 </a></li><li class="list-menu__children "><a 3202 href="/pages/luxury-corporate-gifts" 3203 class="list-menu__item " 3204 3205 > 3206 Corporate Gifts 3207 </a></li><li class="list-menu__children "><a 3208 href="/pages/holiday-gifts" 3209 class="list-menu__item " 3210 3211 > 3212 Holiday Gifts 3213 </a></li><li class="list-menu__children "><a 3214 href="/pages/photo-engraved-wine-box" 3215 class="list-menu__item " 3216 3217 > 3218 Photo Engraved Boxes 3219 </a></li><li class="list-menu__children "><a 3220 href="/pages/real-estate-gifts" 3221 class="list-menu__item " 3222 3223 > 3224 Real Estate Gifts 3225 </a></li><li class="list-menu__children "><a 3226 href="/pages/weddings" 3227 class="list-menu__item " 3228 3229 > 3230 Wedding Gifts 3231 </a></li></ul> 3232 </div></li></ul> 3233</nav> 3234 3235 </header> 3236</sticky-header>�
3236<script> 3237 class StickyHeader extends HTMLElement { 3238 constructor() { 3239 super(); 3240 } 3241 3242 connectedCallback() { 3243 this.header = document.querySelector('.section-header'); 3244 this.headerIsAlwaysSticky = this.getAttribute('data-sticky-type') === 'always' ; 3245 this.headerInner = this.header.querySelector('.header'); 3246 this.headerBounds = {}; 3247 3248 this.setHeaderHeight(); 3249 3250 window.matchMedia('(max-width: 1069px)').addEventListener('change', this.setHeaderHeight.bind(this)); 3251 3252 if (this.headerIsAlwaysSticky) { 3253 this.header.classList.add('shopify-section-header-sticky'); 3254 } 3255 3256 this.currentScrollTop = 0; 3257 this.preventReveal = false; 3258 this.predictiveSearch = this.querySelector('predictive-search'); 3259 3260 this.onScrollHandler = this.onScroll.bind(this); 3261 this.hideHeaderOnScrollUp = () => this.preventReveal = true; 3262 3263 this.addEventListener('preventHeaderReveal', this.hideHeaderOnScrollUp); 3264 window.addEventListener('scroll', this.onScrollHandler, false); 3265 3266 this.createObserver(); 3267 window.addEventListener('resize', this.createObserver.bind(this)); 3268 } 3269 3270 setHeaderHeight() { 3271 const resizeObserver = new ResizeObserver(() => { 3272 document.documentElement.style.setProperty('--header-height', `${this.headerInner.offsetHeight}px`); 3273 }); 3274 resizeObserver.observe(this.headerInner); 3275 } 3276 3277 disconnectedCallback() { 3278 this.removeEventListener('preventHeaderReveal', this.hideHeaderOnScrollUp); 3279 window.removeEventListener('scroll', this.onScrollHandler); 3280 window.removeEventListener('resize', this.createObserver.bind(this)); 3281 } 3282 3283 createObserver() { 3284 const observer = new IntersectionObserver((entries) => { 3285 this.headerBounds = entries[0].intersectionRect; 3286 }, { threshold: [0] }); 3287 3288 observer.observe(this.header); 3289 } 3290 3291 onScroll() { 3292 requestAnimationFrame(() => { 3293 const scrollTop = window.pageYOffset || document.documentElement.scrollTop; 3294 3295 if (this.predictiveSearch && this.predictiveSearch.isOpen) return; 3296 3297 if (scrollTop > this.currentScrollTop && scrollTop > this.headerBounds.bottom) { 3298 this.header.classList.add('scrolled-past-header'); 3299 this.headerInner.classList.add('is-sticky'); 3300 if (this.preventHide) return; 3301 this.hide(); 3302 } else if (scrollTop < this.currentScrollTop && scrollTop > this.headerBounds.bottom) { 3303 this.header.classList.add('scrolled-past-header'); 3304 this.headerInner.classList.add('is-sticky'); 3305 if (!this.preventReveal) { 3306 this.reveal(); 3307 } else { 3308 window.clearTimeout(this.isScrolling); 3309 this.isScrolling = setTimeout(() => { 3310 this.preventReveal = false; 3311 }, 66); 3312 this.hide(); 3313 } 3314 } else if (scrollTop <= this.headerBounds.top) { 3315 this.header.classList.remove('scrolled-past-header'); 3316 this.headerInner.classList.remove('is-sticky'); 3317 this.reset(); 3318 } 3319 3320 this.currentScrollTop = scrollTop; 3321 }); 3322 } 3323 3324 hide() { 3325 if (this.headerIsAlwaysSticky) return; 3326 this.header.classList.add('shopify-section-header-hidden', 'shopify-section-header-sticky'); 3327 this.closeMenuDisclosure(); 3328 } 3329 3330 reveal() { 3331 if (this.headerIsAlwaysSticky) return; 3332 this.header.classList.remove('shopify-section-header-hidden'); 3333 this.header.classList.add('shopify-section-header-sticky', 'animate'); 3334 } 3335 3336 reset() { 3337 if (this.headerIsAlwaysSticky) return; 3338 this.header.classList.remove('shopify-section-header-hidden', 'shopify-section-header-sticky', 'animate'); 3339 } 3340 3341 closeMenuDisclosure() { 3342 this.disclosures = this.disclosures || this.header.querySelectorAll('header-menu'); 3343 this.disclosures.forEach(disclosure => disclosure.close()); 3344 } 3345} 3346 3347customElements.define('sticky-header', StickyHeader); 3348 3349(function() { 3350window.addEventListener('load', function() { 3351 updateMenuPositions(); 3352 document.addEventListener('shopify:section:load', function() { 3353 updateMenuPositions(); 3354 }); 3355}); 3356 3357window.addEventListener('resize', function() { 3358 updateMenuPositions(); 3359}); 3360document.addEventListener('shopify:section:load', function() { 3361 updateMenuPositions(); 3362}); 3363function updateMenuPositions() { 3364 const dropdownMenus = document.querySelectorAll('.list-menu li.list-menu__has-dropdown');
3365 dropdownMenus.forEach(menu => { 3366 const menuRect = menu.getBoundingClientRect(); 3367 const menuRight = window.innerWidth - menuRect.right; 3368 if (menuRight < 450) { 3369 menu.classList.add('near-edge'); 3370 } else { 3371 menu.classList.remove('near-edge'); 3372 } 3373 }); 3374} 3375const dropdownMenus = document.querySelectorAll('.list-menu__has-dropdown'); 3376 3377dropdownMenus.forEach(menu => { 3378 menu.addEventListener('mouseenter', () => { 3379 menu.classList.add('open'); 3380 }); 3381 3382 menu.addEventListener('mouseleave', () => { 3383 menu.classList.remove('open'); 3384 }); 3385}); 3386 3387document.querySelectorAll('.list-menu__children-has-sub').forEach(item => { 3388 3389 item.addEventListener('mouseenter', function () { 3390 this.classList.add('open'); 3391 }); 3392 3393 item.addEventListener('mouseleave', function (e) { 3394 if (!this.contains(e.relatedTarget)) { 3395 this.classList.remove('open'); 3396 } 3397 }); 3398 3399}); 3400 3401const announcementHeader = document.querySelector('.shopify-section-group-header-group'); 3402const announcementScrollingHeight = announcementHeader?.querySelector('.section-scrolling-text')?.clientHeight; 3403 3404if (announcementScrollingHeight) { 3405 document.documentElement.style.setProperty('--announcement-scrolling-height', `${announcementScrollingHeight}px`); 3406} 3407 3408})(); 3409 3410</script>
3410 3411
3412<script type="application/ld+json"> 3413 { 3414 "@context": "http://schema.org", 3415 "@type": "Organization", 3416 "name": "Personal Wine", 3417 3418 "logo": "https:\/\/www.personalwine.com\/cdn\/shop\/files\/Frame_106_3.png?v=1762491909\u0026width=500", 3419 3420 "sameAs": [ 3421 "https:\/\/x.com\/personalwine", 3422 "https:\/\/www.facebook.com\/personalwine", 3423 "https:\/\/in.pinterest.com\/personalwine", 3424 "https:\/\/www.instagram.com\/personalwine", 3425 "", 3426 "", 3427 "", 3428 "", 3429 "" 3430 ], 3431 "url": "https:\/\/www.personalwine.com" 3432 } 3433</script>
3433 3434 3435 3436 3437 3438
3439<script> 3440 function toggleTooltip(el) { 3441 // close all first 3442 document.querySelectorAll('.tooltip').forEach(t => t.classList.remove('active')); 3443 3444 // open current 3445 el.querySelector('.tooltip').classList.toggle('active'); 3446} 3447</script>
3447</div> 3448<!-- END sections: header-group --><main id="MainContent" class="content-for-layout focus-none" role="main" tabindex="-1"> 3449 <section id="shopify-section-template--23404158877917__main" class="shopify-section section"> 3450 3451 3452<section 3453 id="MainProduct-template--23404158877917__main" 3454 class="section-main-product section-padding section-bg" 3455 3456 3457 3458 3459 3460�style="--section-padding-top: 36px; --section-padding-bottom: 36px;" 3461 data-section="template--23404158877917__main" 3462> 3463 <link href="//www.personalwine.com/cdn/shop/t/65/assets/section-main-product.css?v=63381834454002350711788364800" rel="stylesheet" type="text/css" media="all" /> 3464 <link href="//www.personalwine.com/cdn/shop/t/65/assets/component-accordion.css?v=36008402948962991601788214101" rel="stylesheet" type="text/css" media="all" /> 3465 <link href="//www.personalwine.com/cdn/shop/t/65/assets/component-deferred-media.css?v=159317410278492073721788214101" rel="stylesheet" type="text/css" media="all" /> 3466 3467 <link href="//www.personalwine.com/cdn/shop/t/65/assets/component-product-variant-picker.css?v=28890408981582852071788214101" rel="stylesheet" type="text/css" media="all" /> 3468 <link href="//www.personalwine.com/cdn/shop/t/65/assets/component-swatch-input.css?v=58494200876996709581788214101" rel="stylesheet" type="text/css" media="all" /> 3469 <link href="//www.personalwine.com/cdn/shop/t/65/assets/component-swatch.css?v=83521056052924915951788214101" rel="stylesheet" type="text/css" media="all" /> 3470 �<link href="//www.personalwine.com/cdn/shop/t/65/assets/style-judgeme.css?v=105992341468840174891788214101" rel="stylesheet" type="text/css" media="all" />�<style data-shopify>.section-template--23404158877917__main-padding { 3471 padding-top: 27px; 3472 padding-bottom: 27px; 3473 } 3474 3475 @media screen and (min-width: 750px) { 3476 .section-template--23404158877917__main-padding { 3477 padding-top: 36px; 3478 padding-bottom: 36px; 3479 } 3480 }</style>
3480<script> 3481 try { 3482 const items = JSON.parse(localStorage.getItem('recently-viewed') || '[]'); 3483 if (!items.includes(9236777566429)) { 3484 items.unshift(9236777566429); 3485 } 3486 localStorage.setItem('recently-viewed', JSON.stringify(items.slice(0, 20))); 3487 } catch (e) { 3488 console.log(e); 3489 } 3490 </script>
3490 3491
3491<script src="//www.personalwine.com/cdn/shop/t/65/assets/product-info.js?v=156117934344660950251788214101" defer="defer"></script>
3491 3492
3492<script src="//www.personalwine.com/cdn/shop/t/65/assets/product-form.js?v=102829694421415947891788214101" defer="defer"></script>
3492 3493 <div class="container-fluid"> 3494 <div class="product product--left product--thumbnail_left product--mobile-show flex lg:flex-row flex-col " style="--media-width:51%;"> 3495 <div class=" product__media-wrapper" >� 3496�<media-gallery 3497 id="MediaGallery-template--23404158877917__main" 3498 role="region" 3499 3500 class="product__column-sticky" 3501 3502 data-desktop-layout="thumbnail_left" 3503> 3504 <div id="GalleryStatus-template--23404158877917__main" class="visually-hidden" role="status"></div> 3505<gallery-carousel id="Gallery-carousel-template--23404158877917__main" 3506class=" flex gap-y-6 product__media-list gallery_layout-left flex-col md:flex-row-reverse gap-x-6 " 3507data-autoplay="false" 3508 aria-labelledby="Gallery Viewer" 3509 3510 style="--column-gap-media:0.5rem;" 3511 > 3512 <div 3513 id="Main-Carousel-template--23404158877917__main" 3514 class="splide-slider splide main-carousel" 3515 data-splide='{ 3516 "direction":"ltr", 3517 "type": "fade", 3518 "pagination": false, 3519 "arrows":true, 3520 "rewind" : false, 3521 "destroy":false, 3522 "perPage":1, 3523 "wheel": false, 3524 "drag": false, 3525 "speed":400, 3526 "breakpoints": { 3527 "767": { 3528 "perPage":1, 3529 "destroy": false, 3530 "arrows": false, 3531 "focus": "center" 3532 } 3533 } 3534 }' 3535 > 3536 <div class="splide__track"> 3537 <div class="splide__list splide__gallery splide__gallery-thumbnail_left has-variant splide__gallery-adapt" ><div 3538 id="Slide-template--23404158877917__main-38140946743517" 3539 class="splide__slide 3540 " 3541 data-type="image" 3542 data-media-id="38140946743517" 3543 3544 3545 > 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 � 3836�<div
3837 class=" product-media-container media-type-image global-media-settings " 3838 style="--ratio: 0.3333333333333333; --preview-ratio: 0.3333333333333333;--animation-order:2;" 3839><div class="product__modal-opener product__modal-opener--image" ><div class="product__media media media--transparent"> 3840 <img src="//www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627&width=1946" alt="A bottle of Tafida Cabernet Sauvignon with a bold label, shown upright against a plain background." srcset="//www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627&width=246 246w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627&width=493 493w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627&width=600 600w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627&width=713 713w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627&width=823 823w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627&width=990 990w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627&width=1100 1100w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627&width=1206 1206w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627&width=1346 1346w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627&width=1426 1426w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627&width=1646 1646w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627&width=1946 1946w" width="1946" height="5838" loading="eager" class="image-magnify-" fetchpriority="high" sizes="(min-width: 1300px) 51vw, (min-width: 990px) calc(51.0vw - 10rem), (min-width: 750px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)"> 3841 </div> 3842 </div></div> 3843 3844 </div><div 3845 id="Slide-template--23404158877917__main-37383708180701" 3846 class="splide__slide is-active is-visible splide__slide--current-variant 3847 " 3848 data-type="image" 3849 data-media-id="37383708180701" 3850 3851 3852 data-selected="true" 3853 3854 > 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 � 4145�<div
4146 class=" product-media-container media-type-image global-media-settings " 4147 style="--ratio: 0.3333333333333333; --preview-ratio: 0.3333333333333333;--animation-order:2;" 4148><div class="product__modal-opener product__modal-opener--image" ><div class="product__media media media--transparent"> 4149 <img src="//www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206&width=1946" alt="A bottle of Tafida Cabernet Sauvignon with a white label displaying âYour Design Hereâ in bold uppercase letters." srcset="//www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206&width=246 246w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206&width=493 493w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206&width=600 600w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206&width=713 713w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206&width=823 823w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206&width=990 990w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206&width=1100 1100w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206&width=1206 1206w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206&width=1346 1346w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206&width=1426 1426w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206&width=1646 1646w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206&width=1946 1946w" width="1946" height="5838" loading="lazy" class="image-magnify-" fetchpriority="auto" sizes="(min-width: 1300px) 51vw, (min-width: 990px) calc(51.0vw - 10rem), (min-width: 750px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)"> 4150 </div> 4151 </div></div> 4152 4153 </div><div 4154 id="Slide-template--23404158877917__main-37383708147933" 4155 class="splide__slide 4156 splide__slide--extra " 4157 data-type="image" 4158 data-media-id="37383708147933" 4159 4160 4161 > 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 � 4452�<div
4453 class=" product-media-container media-type-image global-media-settings " 4454 style="--ratio: 0.3333333333333333; --preview-ratio: 0.3333333333333333;--animation-order:2;" 4455><div class="product__modal-opener product__modal-opener--image" ><div class="product__media media media--transparent"> 4456 <img src="//www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_engravedExample_1.png?v=1774892206&width=1946" alt="A bottle of Tafida Cabernet Sauvignon with a blank label that says Your Design Here in bold inside a circle." srcset="//www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_engravedExample_1.png?v=1774892206&width=246 246w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_engravedExample_1.png?v=1774892206&width=493 493w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_engravedExample_1.png?v=1774892206&width=600 600w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_engravedExample_1.png?v=1774892206&width=713 713w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_engravedExample_1.png?v=1774892206&width=823 823w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_engravedExample_1.png?v=1774892206&width=990 990w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_engravedExample_1.png?v=1774892206&width=1100 1100w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_engravedExample_1.png?v=1774892206&width=1206 1206w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_engravedExample_1.png?v=1774892206&width=1346 1346w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_engravedExample_1.png?v=1774892206&width=1426 1426w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_engravedExample_1.png?v=1774892206&width=1646 1646w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_engravedExample_1.png?v=1774892206&width=1946 1946w" width="1946" height="5838" loading="lazy" class="image-magnify-" fetchpriority="auto" sizes="(min-width: 1300px) 51vw, (min-width: 990px) calc(51.0vw - 10rem), (min-width: 750px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)"> 4457 </div> 4458 </div></div> 4459 4460 </div><div 4461 id="Slide-template--23404158877917__main-37340296118493" 4462 class="splide__slide 4463 splide__slide--extra " 4464 data-type="image" 4465 data-media-id="37340296118493" 4466 4467 4468 > 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 � 4759�<div
4760 class=" product-media-container media-type-image global-media-settings " 4761 style="--ratio: 0.3333333333333333; --preview-ratio: 0.3333333333333333;--animation-order:2;" 4762><div class="product__modal-opener product__modal-opener--image" ><div class="product__media media media--transparent"> 4763 <img src="//www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryBackLabel_ebcf364d-64b3-4c41-90b4-62ef9b8d5551.png?v=1774892206&width=1946" alt="A Tafida Cabernet Sauvignon wine bottle with a black label, red accents, and visible engraved text." srcset="//www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryBackLabel_ebcf364d-64b3-4c41-90b4-62ef9b8d5551.png?v=1774892206&width=246 246w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryBackLabel_ebcf364d-64b3-4c41-90b4-62ef9b8d5551.png?v=1774892206&width=493 493w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryBackLabel_ebcf364d-64b3-4c41-90b4-62ef9b8d5551.png?v=1774892206&width=600 600w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryBackLabel_ebcf364d-64b3-4c41-90b4-62ef9b8d5551.png?v=1774892206&width=713 713w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryBackLabel_ebcf364d-64b3-4c41-90b4-62ef9b8d5551.png?v=1774892206&width=823 823w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryBackLabel_ebcf364d-64b3-4c41-90b4-62ef9b8d5551.png?v=1774892206&width=990 990w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryBackLabel_ebcf364d-64b3-4c41-90b4-62ef9b8d5551.png?v=1774892206&width=1100 1100w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryBackLabel_ebcf364d-64b3-4c41-90b4-62ef9b8d5551.png?v=1774892206&width=1206 1206w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryBackLabel_ebcf364d-64b3-4c41-90b4-62ef9b8d5551.png?v=1774892206&width=1346 1346w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryBackLabel_ebcf364d-64b3-4c41-90b4-62ef9b8d5551.png?v=1774892206&width=1426 1426w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryBackLabel_ebcf364d-64b3-4c41-90b4-62ef9b8d5551.png?v=1774892206&width=1646 1646w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryBackLabel_ebcf364d-64b3-4c41-90b4-62ef9b8d5551.png?v=1774892206&width=1946 1946w" width="1946" height="5838" loading="lazy" class="image-magnify-" fetchpriority="auto" sizes="(min-width: 1300px) 51vw, (min-width: 990px) calc(51.0vw - 10rem), (min-width: 750px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)"> 4764 </div> 4765 </div></div> 4766 4767 </div><div 4768 id="Slide-template--23404158877917__main-37383708115165" 4769 class="splide__slide 4770 splide__slide--extra " 4771 data-type="image" 4772 data-media-id="37383708115165" 4773 4774 4775 > 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 � 5066�<div
5067 class=" product-media-container media-type-image global-media-settings " 5068 style="--ratio: 1.0; --preview-ratio: 1.0;--animation-order:2;" 5069><div class="product__modal-opener product__modal-opener--image" ><div class="product__media media media--transparent"> 5070 <img src="//www.personalwine.com/cdn/shop/files/2022MothersDay_Square_v2_r1_2.jpg?v=1774885627&width=1946" alt="Bottle of Tafida Cabernet Sauvignon with Motherâs Day label, yellow tulips, and framed photo on a table." srcset="//www.personalwine.com/cdn/shop/files/2022MothersDay_Square_v2_r1_2.jpg?v=1774885627&width=246 246w, //www.personalwine.com/cdn/shop/files/2022MothersDay_Square_v2_r1_2.jpg?v=1774885627&width=493 493w, //www.personalwine.com/cdn/shop/files/2022MothersDay_Square_v2_r1_2.jpg?v=1774885627&width=600 600w, //www.personalwine.com/cdn/shop/files/2022MothersDay_Square_v2_r1_2.jpg?v=1774885627&width=713 713w, //www.personalwine.com/cdn/shop/files/2022MothersDay_Square_v2_r1_2.jpg?v=1774885627&width=823 823w, //www.personalwine.com/cdn/shop/files/2022MothersDay_Square_v2_r1_2.jpg?v=1774885627&width=990 990w, //www.personalwine.com/cdn/shop/files/2022MothersDay_Square_v2_r1_2.jpg?v=1774885627&width=1100 1100w, //www.personalwine.com/cdn/shop/files/2022MothersDay_Square_v2_r1_2.jpg?v=1774885627&width=1206 1206w, //www.personalwine.com/cdn/shop/files/2022MothersDay_Square_v2_r1_2.jpg?v=1774885627&width=1346 1346w, //www.personalwine.com/cdn/shop/files/2022MothersDay_Square_v2_r1_2.jpg?v=1774885627&width=1426 1426w, //www.personalwine.com/cdn/shop/files/2022MothersDay_Square_v2_r1_2.jpg?v=1774885627&width=1646 1646w, //www.personalwine.com/cdn/shop/files/2022MothersDay_Square_v2_r1_2.jpg?v=1774885627&width=1946 1946w" width="1946" height="1946" loading="lazy" class="image-magnify-" fetchpriority="auto" sizes="(min-width: 1300px) 51vw, (min-width: 990px) calc(51.0vw - 10rem), (min-width: 750px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)"> 5071 </div> 5072 </div></div> 5073 5074 </div></div><div class="slide-counter slide-counter__main inline-flex items-center justify-center absolute z-[1] text-size-tiny"> 5075 <span class="current-slide">1</span>/<span class="total-slides">5</span> 5076 </div><div class="splide__arrows "> 5077 <button 5078 class="splide__arrow splide__arrow--prev " 5079 type="button" 5080 > 5081 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="icon icon-nav-arrow-right"> 5082 <path stroke-linecap="round" stroke-linejoin="round" d="m8.25 4.5 7.5 7.5-7.5 7.5" /> 5083</svg> 5084 5085 </button> 5086 <button 5087 class="splide__arrow splide__arrow--next " 5088 type="button" 5089 > 5090 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="icon icon-nav-arrow-right"> 5091 <path stroke-linecap="round" stroke-linejoin="round" d="m8.25 4.5 7.5 7.5-7.5 7.5" /> 5092</svg> 5093 5094 </button> 5095 </div> 5096 </div> 5097 </div> 5098 <div id="Thumbnail-Carousel-template--23404158877917__main" class="splide-slider splide thumbnail-carousel " 5099 data-thumbnail="vertical" 5100 data-splide='{ 5101 "direction":"ttb","height": "610px", 5102 "autoHeight": true, 5103 "perPage": 5,"focus": "center","isNavigation": true, 5104 "rewind":false, 5105 "gap": "1.5rem", 5106 "speed":400, 5107 "pagination": false, 5108 "arrows":false, 5109 "updateOnMove":true, 5110 "breakpoints": { 5111 "767": {"focus": "center","direction":"ltr", 5112 "perPage": 5, 5113 "height":"auto", 5114 "arrows": false, 5115 "fixedWidth":"18%" 5116 } 5117 } 5118 }' style="--width-thunbnail:18%;"> 5119 <div class="splide__track" > 5120 <div class="splide__list" ><div 5121 id="Slide-Thumbnails-template--23404158877917__main-1" 5122 class="thumbnail-list__item splide__slide splide__thumbnail " 5123 data-target="template--23404158877917__main-38140946743517" 5124 data-media-position="1" 5125 data-media-id="38140946743517" 5126 5127 5128 ><span 5129 tabindex="-1" 5130 class="thumbnail global-media-settings global-media-settings--no-shadow " 5131 5132 aria-label="Load image 1 in gallery view"
5133 aria-controls="Thumbnail-Carousel-template--23404158877917__main" 5134 aria-describedby="Thumbnail-Carousel-template--23404158877917__main-1�" 5135 5136 > 5137 ��<responsive-image class="responsive-image" style="--aspect-ratio:300.0%"> 5138<img src="//www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?crop=center&height=633&v=1774885627&width=70" alt="A bottle of Tafida Cabernet Sauvignon with a bold label, shown upright against a plain background." width="70" height="633" loading="lazy" srcset="//www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627&width=70 70w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627&width=140 140w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627&width=400 400w" sizes="18%" class=" motion-reduce lazy-image" id="Thumbnail-Carousel-template--23404158877917__main-1�"> 5139</responsive-image></span> 5140 </div><div 5141 id="Slide-Thumbnails-template--23404158877917__main-2" 5142 class="thumbnail-list__item splide__slide splide__thumbnail " 5143 data-target="template--23404158877917__main-37383708180701" 5144 data-media-position="2" 5145 data-media-id="37383708180701" 5146 5147 5148 data-selected="true" 5149 5150 ><span 5151 tabindex="-1" 5152 class="thumbnail global-media-settings global-media-settings--no-shadow " 5153 5154 aria-label="Load image 2 in gallery view" 5155 aria-controls="Thumbnail-Carousel-template--23404158877917__main" 5156 aria-describedby="Thumbnail-Carousel-template--23404158877917__main-2�" 5157 5158 > 5159 ��<responsive-image class="responsive-image" style="--aspect-ratio:300.0%"> 5160<img src="//www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_labeledExample_1.png?crop=center&height=633&v=1774892206&width=70" alt="A bottle of Tafida Cabernet Sauvignon with a white label displaying âYour Design Hereâ in bold uppercase letters." width="70" height="633" loading="lazy" srcset="//www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206&width=70 70w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206&width=140 140w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206&width=400 400w" sizes="18%" class=" motion-reduce lazy-image" id="Thumbnail-Carousel-template--23404158877917__main-2�"> 5161</responsive-image></span> 5162 </div><div 5163 id="Slide-Thumbnails-template--23404158877917__main-3" 5164 class="thumbnail-list__item splide__slide splide__thumbnail " 5165 data-target="template--23404158877917__main-37383708147933" 5166 data-media-position="3" 5167 data-media-id="37383708147933" 5168 5169 5170 ><span 5171 tabindex="-1" 5172 class="thumbnail global-media-settings global-media-settings--no-shadow " 5173 5174 aria-label="Load image 3 in gallery view" 5175 aria-controls="Thumbnail-Carousel-template--23404158877917__main" 5176 aria-describedby="Thumbnail-Carousel-template--23404158877917__main-3�" 5177 5178 > 5179 ��<responsive-image class="responsive-image" style="--aspect-ratio:300.0%"> 5180<img src="//www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_engravedExample_1.png?crop=center&height=633&v=1774892206&width=70" alt="A bottle of Tafida Cabernet Sauvignon with a blank label that says Your Design Here in bold inside a circle." width="70" height="633" loading="lazy" srcset="//www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_engravedExample_1.png?v=1774892206&width=70 70w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_engravedExample_1.png?v=1774892206&width=140 140w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_engravedExample_1.png?v=1774892206&width=400 400w" sizes="18%" class=" motion-reduce lazy-image" id="Thumbnail-Carou
5180sel-template--23404158877917__main-3�"> 5181</responsive-image></span> 5182 </div><div 5183 id="Slide-Thumbnails-template--23404158877917__main-4" 5184 class="thumbnail-list__item splide__slide splide__thumbnail " 5185 data-target="template--23404158877917__main-37340296118493" 5186 data-media-position="4" 5187 data-media-id="37340296118493" 5188 5189 5190 ><span 5191 tabindex="-1" 5192 class="thumbnail global-media-settings global-media-settings--no-shadow " 5193 5194 aria-label="Load image 4 in gallery view" 5195 aria-controls="Thumbnail-Carousel-template--23404158877917__main" 5196 aria-describedby="Thumbnail-Carousel-template--23404158877917__main-4�" 5197 5198 > 5199 ��<responsive-image class="responsive-image" style="--aspect-ratio:300.0%"> 5200<img src="//www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryBackLabel_ebcf364d-64b3-4c41-90b4-62ef9b8d5551.png?crop=center&height=633&v=1774892206&width=70" alt="A Tafida Cabernet Sauvignon wine bottle with a black label, red accents, and visible engraved text." width="70" height="633" loading="lazy" srcset="//www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryBackLabel_ebcf364d-64b3-4c41-90b4-62ef9b8d5551.png?v=1774892206&width=70 70w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryBackLabel_ebcf364d-64b3-4c41-90b4-62ef9b8d5551.png?v=1774892206&width=140 140w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryBackLabel_ebcf364d-64b3-4c41-90b4-62ef9b8d5551.png?v=1774892206&width=400 400w" sizes="18%" class=" motion-reduce lazy-image" id="Thumbnail-Carousel-template--23404158877917__main-4�"> 5201</responsive-image></span> 5202 </div><div 5203 id="Slide-Thumbnails-template--23404158877917__main-5" 5204 class="thumbnail-list__item splide__slide splide__thumbnail " 5205 data-target="template--23404158877917__main-37383708115165" 5206 data-media-position="5" 5207 data-media-id="37383708115165" 5208 5209 5210 ><span 5211 tabindex="-1" 5212 class="thumbnail global-media-settings global-media-settings--no-shadow " 5213 5214 aria-label="Load image 5 in gallery view" 5215 aria-controls="Thumbnail-Carousel-template--23404158877917__main" 5216 aria-describedby="Thumbnail-Carousel-template--23404158877917__main-5�" 5217 5218 > 5219 ��<responsive-image class="responsive-image" style="--aspect-ratio:100.0%"> 5220<img src="//www.personalwine.com/cdn/shop/files/2022MothersDay_Square_v2_r1_2.jpg?crop=center&height=70&v=1774885627&width=70" alt="Bottle of Tafida Cabernet Sauvignon with Motherâs Day label, yellow tulips, and framed photo on a table." width="70" height="70" loading="lazy" srcset="//www.personalwine.com/cdn/shop/files/2022MothersDay_Square_v2_r1_2.jpg?v=1774885627&width=70 70w, //www.personalwine.com/cdn/shop/files/2022MothersDay_Square_v2_r1_2.jpg?v=1774885627&width=140 140w, //www.personalwine.com/cdn/shop/files/2022MothersDay_Square_v2_r1_2.jpg?v=1774885627&width=2000 2000w" sizes="18%" class=" motion-reduce lazy-image" id="Thumbnail-Carousel-template--23404158877917__main-5�"> 5221</responsive-image></span> 5222 </div></div></div> 5223 5224 </div> 5225</gallery-carousel> 5226</media-gallery> 5227�</div> 5228 <div class="product__info-wrapper lg:pt-0 pt-8"> 5229 <product-info 5230 id="ProductInfo-template--23404158877917__main" 5231 data-section="template--23404158877917__main" 5232 data-url="/products/tafida-cabernet-sauvignon" 5233 class="product__info-container product__column-sticky " 5234 ><h1 class="product__title h4" >Tafida Cabernet Sauvignon</h1> 5235 5236 5237 5238 5239 5240 5241 5242 <div class="product-metaobject-data"> 5243 <div class="pdp-metaobject-ingredient"> 5244
5245 <span>2022</span> 5246 5247 5248 5249 <span style="padding: 0px 5px;">|</span> 5250 5251 5252 5253 <span>California</span> 5254 5255 5256 </div> 5257 </div> 5258 �<div id="shopify-block-Ac1g2SGhZbVNxU3JCd__loox_reviews_loox_rating_QBxcHa" class="shopify-block shopify-app-block"> 5259 5260 <a href="#looxReviewsFrame" aria-label="Scroll to reviews"> 5261 <div class="loox-rating loox-widget" 5262 data-content-size="16" 5263 5264 5265 5266 5267 5268 5269 5270 data-loox-block-id="Ac1g2SGhZbVNxU3JCd__loox_reviews_loox_rating_QBxcHa" 5271 5272 5273 5274 5275 data-color-text="" 5276 5277 5278 data-color-star="" 5279 5280 5281 data-id="9236777566429" 5282 data-rating="5.0" 5283 data-raters="64" 5284 5285 data-testid="loox-rating-widget" 5286 ></div> 5287 </a> 5288 5289 5290 5291</div>�<div class="product__price" id="price-template--23404158877917__main" role="status" >�<div
5292 class=" 5293 price price--large flex items-center gap-4 price--show-badge" 5294> 5295 <div class="price__container"><div class="price__regular"><span class="price-text-cstm"> Price </span> 5296 <span class="visually-hidden visually-hidden--inline">Regular price</span> 5297 <span class="price-item price-item--regular"> 5298 $35.00 5299 </span></div> 5300 <div class="price__sale"> 5301 <span class="visually-hidden visually-hidden--inline">Sale price</span> 5302 <span class="price-text-cstm"> Price </span> 5303 <span class="price-item price-item--sale price-item--last"> 5304 $35.00 5305 </span> 5306 <span class="visually-hidden visually-hidden--inline">Regular price</span> 5307 <span> 5308 <s class="price-item price-item--regular"> 5309 5310 5311 5312 </s> 5313 </span></div> 5314 <small class="unit-price caption hidden"> 5315 <span class="visually-hidden">Unit price</span> 5316 <span class="price-item price-item--last"> 5317 <span></span> 5318 <span aria-hidden="true">/</span> 5319 <span class="visually-hidden"> per </span> 5320 <span> 5321 </span> 5322 </span> 5323 </small> 5324 </div> 5325 <span class="badge price__badge-sale ">Save $-35.00 5326 </span><span class="badge price__badge-sold-out "> 5327 Sold out 5328 </span></div> 5329</div><div ><form method="post" action="/cart/add" id="product-form-installment-template--23404158877917__main" accept-charset="UTF-8" class="installment caption-large" enctype="multipart/form-data"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="id" value="47382894444765"> 5330 �<input type="hidden" name="product-id" value="9236777566429" /><input type="hidden" name="section-id" value="template--23404158877917__main" /></form></div><hr class="product__divider border-t " style="--divider-space:0rem;" /><div id="shopify-block-AM1pDZEFmWWJOTDN3S__fad_auto_discounts_fad_display_offers_ACJyxj" class="shopify-block shopify-app-block"><div class="cs_FD_display"></div> 5331
5332<script> 5333 var customQty = "input[name='quantity'].quantity__input"; 5334 var customAddToCart = '.product-form'; 5335</script>
5335 5336 5337 5338</div>�<hr class="product__divider border-t " style="--divider-space:0rem;" /><div 5339 id="Quantity-Form-template--23404158877917__main" 5340 class="product-form__input product-form__quantity" 5341 5342 > 5343 5344 � 5345 <label class="quantity__label form__label" for="Quantity-template--23404158877917__main"> 5346 Quantity 5347 5348 <span class="quantity__rules-cart hidden"> 5349 5350 5351<div class="loading__spinner hidden"> 5352 <svg 5353 aria-hidden="true" 5354 focusable="false" 5355 class="spinner" 5356 viewBox="0 0 66 66" 5357 xmlns="http://www.w3.org/2000/svg" 5358 > 5359 <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle> 5360 </svg> 5361</div> 5362<span 5363 >(<span class="quantity-cart">0</span> in cart)</span 5364 > 5365 </span> 5366 5367 </label> 5368 <div class="price-per-item__container"> 5369 <quantity-input class="quantity" data-url="/products/tafida-cabernet-sauvignon" data-section="template--23404158877917__main"> 5370 <label class="visually-hidden" for="Quantity-template--23404158877917__main"> 5371 Quantity 5372 </label> 5373 <button class="quantity__button" name="minus" type="button"> 5374 <span class="visually-hidden">Decrease quantity for Tafida Cabernet Sauvignon</span> 5375 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="icon icon-minus"> 5376 <path stroke-linecap="" stroke-linejoin="" d="M5 12h14" /> 5377</svg> 5378 5379 </button> 5380 <input 5381 class="quantity__input" 5382 type="number" 5383 name="quantity" 5384 id="Quantity-template--23404158877917__main" 5385 data-cart-quantity="0" 5386 data-min="1" 5387 min="1" 5388 5389 step="1" 5390 value="1" 5391 form="product-form-template--23404158877917__main" 5392 > 5393 <button class="quantity__button" name="plus" type="button"> 5394 <span class="visually-hidden">Increase quantity for Tafida Cabernet Sauvignon</span> 5395 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="icon icon-plus"> 5396 <path stroke-linecap="" stroke-linejoin="" d="M12 4.5v15m7.5-7.5h-15" /> 5397</svg> 5398 5399 </button> 5400 </quantity-input></div> 5401 <div class="quantity__rules caption" id="Quantity-Rules-template--23404158877917__main"></div></div>� 5402 <hr class="product__divider border-t " style="--divider-space:0rem;"> 5403 <variant-selects 5404 5405 id="variant-selects-template--23404158877917__main" 5406 data-section="template--23404158877917__main" 5407 data-url="/products/tafida-cabernet-sauvignon" 5408 5409 5410 ><fieldset class="js product-form__input"> 5411 <div class="form__label"> 5412 <div class="form-option-variant"> 5413 Choose Style: 5414 <span class="form__label-value"> 5415 Label 5416 </span> 5417 </div> 5418 </div> 5419 <div class="variant-picker flex gap-x-1 gap-y-4 flex-wrap variant-picker__solid "> 5420 �<input 5421 type="radio" 5422 id="template--23404158877917__main-1-0" 5423 name="Choose Style" 5424 value="Label" 5425 form="product-form-template--23404158877917__main" 5426 5427 checked 5428 5429 5430 > 5431 <label class="swatch-block" for="template--23404158877917__main-1-0"> 5432 <span class="swatch-block__value"> 5433 Label 5434 5435 5436 </span>
5437 <span class="visually-hidden label-unavailable">Variant sold out or unavailable</span> 5438 </label><input 5439 type="radio" 5440 id="template--23404158877917__main-1-1" 5441 name="Choose Style" 5442 value="Engraving" 5443 form="product-form-template--23404158877917__main" 5444 5445 5446 > 5447 <label class="swatch-block" for="template--23404158877917__main-1-1"> 5448 <span class="swatch-block__value"> 5449 Engraving 5450 5451 (+$30) 5452 5453 5454 </span> 5455 <span class="visually-hidden label-unavailable">Variant sold out or unavailable</span> 5456 </label><input 5457 type="radio" 5458 id="template--23404158877917__main-1-2" 5459 name="Choose Style" 5460 value="None" 5461 form="product-form-template--23404158877917__main" 5462 5463 5464 > 5465 <label class="swatch-block" for="template--23404158877917__main-1-2"> 5466 <span class="swatch-block__value"> 5467 None 5468 5469 5470 </span> 5471 <span class="visually-hidden label-unavailable">Variant sold out or unavailable</span> 5472 </label> 5473 </div> 5474 </fieldset>
5474<script type="application/json"> 5475 [{"id":47382894444765,"title":"Label","option1":"Label","option2":null,"option3":null,"sku":"WR-TAFIDA-CS-NV","requires_shipping":true,"taxable":true,"featured_image":{"id":45790751129821,"product_id":9236777566429,"position":2,"created_at":"2025-12-24T01:14:32-06:00","updated_at":"2026-03-30T12:36:46-05:00","alt":"A bottle of Tafida Cabernet Sauvignon with a white label displaying âYour Design Hereâ in bold uppercase letters.","width":400,"height":1200,"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206","variant_ids":[47382894444765]},"available":true,"name":"Tafida Cabernet Sauvignon - Label","public_title":"Label","options":["Label"],"price":3500,"weight":1403,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":"A bottle of Tafida Cabernet Sauvignon with a white label displaying âYour Design Hereâ in bold uppercase letters.","id":37383708180701,"position":2,"preview_image":{"aspect_ratio":0.333,"height":1200,"width":400,"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47382894411997,"title":"Engraving","option1":"Engraving","option2":null,"option3":null,"sku":"WR-TAFIDA-CS-NV","requires_shipping":true,"taxable":true,"featured_image":{"id":45790750802141,"product_id":9236777566429,"position":3,"created_at":"2025-12-24T01:14:32-06:00","updated_at":"2026-03-30T12:36:46-05:00","alt":"A bottle of Tafida Cabernet Sauvignon with a blank label that says Your Design Here in bold inside a circle.","width":400,"height":1200,"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_engravedExample_1.png?v=1774892206","variant_ids":[47382894411997]},"available":true,"name":"Tafida Cabernet Sauvignon - Engraving","public_title":"Engraving","options":["Engraving"],"price":6500,"weight":1403,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":"A bottle of Tafida Cabernet Sauvignon with a blank label that says Your Design Here in bold inside a circle.","id":37383708147933,"position":3,"preview_image":{"aspect_ratio":0.333,"height":1200,"width":400,"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_engravedExample_1.png?v=1774892206"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47382894477533,"title":"None","option1":"None","option2":null,"option3":null,"sku":"WR-TAFIDA-CS-NV","requires_shipping":true,"taxable":true,"featured_image":{"id":46597580423389,"product_id":9236777566429,"position":1,"created_at":"2026-03-30T10:46:54-05:00","updated_at":"2026-03-30T10:47:07-05:00","alt":"A bottle of Tafida Cabernet Sauvignon with a bold label, shown upright against a plain background.","width":400,"height":1200,"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627","variant_ids":[47382894477533]},"available":true,"name":"Tafida Cabernet Sauvignon - None","public_title":"None","options":["None"],"price":3500,"weight":1403,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":"A bottle of Tafida Cabernet Sauvignon with a bold label, shown upright against a plain background.","id":38140946743517,"position":1,"preview_image":{"aspect_ratio":0.333,"height":1200,"width":400,"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}] 5476 </script>
5476 5477 </variant-selects> 5478<style> 5479 /* 1. Loading Message Container Styles (Clean, no box) */ 5480 #customily-loading-wrapper { 5481 display: flex; 5482 align-items: center; 5483 justify-content: flex-start; 5484 margin: 15px 0; /* Vertical margin */ 5485 padding: 5px 0; /* Internal padding */ 5486 background-color: transparent; /* Transparent background */ 5487 border: none; /* No borders */ 5488 } 5489 /* 2. SVG SPINNER Styles (Subtle) */ 5490 .cl-spinner-svg { 5491 animation: cl-spin 0.8s linear infinite; /* Slightly faster */ 5492 margin-right: 10px; /* Space between icon and text */ 5493 height: 32px; /* Slightly smaller size */ 5494 width: 32px; 5495 color: #777; /* Softer gray color */ 5496 flex-shrink: 0; 5497 } 5498 5499 /* Rotation animation for the SVG */ 5500 @keyframes cl-spin { 5501 from { transform: rotate(0deg); } 5502 to { transform: rotate(360deg); } 5503 } 5504 /* 3. Classes to handle Customily visibility */ 5505 #customily-options { 5506 opacity: 0 !important; 5507 height: 0 !important; 5508 overflow: hidden !important; 5509 pointer-events: none; 5510 transition: opacity 0.3s ease-out, height 0.3s ease-out; /* Smooth transition */ 5511 } 5512 5513 #customily-options.cl-ready { 5514 opacity: 1 !important; 5515 height: auto !important; 5516 overflow: visible !important; 5517 pointer-events: auto; 5518 } 5519</style> 5520<div id="customily-loading-wrapper"> 5521 <svg class="cl-spinner-svg" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"> 5522 <circle style="opacity: 0.25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle> 5523 <path style="opacity: 0.75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path> 5524 </svg> 5525 <span style="font-size: 18px; color: #777; font-family: inherit; font-weight: 500;">Loading personalization options...</span> 5526</div>
5527<script> 5528 var loaderDiv = document.getElementById('customily-loading-wrapper'); 5529 var attempts = 0; 5530 // Check every 250ms 5531 var checkInterval = setInterval(function() { 5532 attempts++; 5533 var customilyContainer = document.getElementById('customily-options'); 5534 5535 // Check if options are already rendered inside the container 5536 if (customilyContainer && customilyContainer.querySelector('.customily_option')) { 5537 // Ready! 5538 if(loaderDiv) { loaderDiv.style.display = 'none'; } 5539 customilyContainer.classList.add('cl-ready'); 5540 clearInterval(checkInterval); 5541 } 5542 5543 // Safety limit (approx 20 seconds) 5544 if (attempts >= 80) { 5545 clearInterval(checkInterval); 5546 // If it times out, hide the loader and show the container anyway as a fallback 5547 if(loaderDiv) { loaderDiv.style.display = 'none'; } 5548 if(customilyContainer) { customilyContainer.classList.add('cl-ready'); } 5549 } 5550 }, 250); 5551</script>
5551 5552� 5553 5554<div ><product-form 5555 class="product-form" 5556 data-hide-errors="false" 5557 data-section-id="template--23404158877917__main" 5558 > 5559 <div class="product-form__error-message-wrapper" role="alert" hidden> 5560 <svg aria-hidden="true" focusable="false" class="icon icon-error" viewBox="0 0 13 13"> 5561 <circle cx="6.5" cy="6.50049" r="5.5" stroke="white" stroke-width="2"/> 5562 <circle cx="6.5" cy="6.5" r="5.5" fill="#EB001B" stroke="#EB001B" stroke-width="0.7"/> 5563 <path d="M5.87413 3.52832L5.97439 7.57216H7.02713L7.12739 3.52832H5.87413ZM6.50076 9.66091C6.88091 9.66091 7.18169 9.37267 7.18169 9.00504C7.18169 8.63742 6.88091 8.34917 6.50076 8.34917C6.12061 8.34917 5.81982 8.63742 5.81982 9.00504C5.81982 9.37267 6.12061 9.66091 6.50076 9.66091Z" fill="white"/> 5564 <path d="M5.87413 3.17832H5.51535L5.52424 3.537L5.6245 7.58083L5.63296 7.92216H5.97439H7.02713H7.36856L7.37702 7.58083L7.47728 3.537L7.48617 3.17832H7.12739H5.87413ZM6.50076 10.0109C7.06121 10.0109 7.5317 9.57872 7.5317 9.00504C7.5317 8.43137 7.06121 7.99918 6.50076 7.99918C5.94031 7.99918 5.46982 8.43137 5.46982 9.00504C5.46982 9.57872 5.94031 10.0109 6.50076 10.0109Z" fill="white" stroke="#EB001B" stroke-width="0.7"> 5565</svg> 5566 5567 <span class="product-form__error-message"></span> 5568 </div><form method="post" action="/cart/add" id="product-form-template--23404158877917__main" accept-charset="UTF-8" class="form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /><input 5569 type="hidden" 5570 name="id" 5571 value="47382894444765" 5572 5573 class="product-variant-id" 5574 > 5575 <!-- Custom code add: Start --> 5576 5577 5578 <div class="main-preview-with-checkbox"> 5579 <div class="popup-main"> 5580 <div id="preview-canvas-popup"></div> 5581 5582 <div class="final_preview_check"> 5583 <div class="final_check"> 5584 <input class="final_check_btn" type="checkbox" id="agree_checkbox"> 5585 <label for="agree_checkbox"> 5586 <span><b>I have reviewed & confirmed that my design is correct.</b></span> 5587 <p>Please review your design one last time. Any changes after your order is placed will incur additional fees and delay production.</p> 5588 </label> 5589 </div> 5590 <p id="checkbox-error" style="color:red;">*Required</p> 5591 </div> 5592 </div> 5593 </div> 5594 5595 5596 5597 <!-- Custom code add: End --><div class="product-form__buttons grid gap-5 grid-cols-1 "><button 5598 id="ProductSubmitButton-template--23404158877917__main" 5599 type="submit" 5600 name="add" 5601 5602 class="product-form__submit btn test button--full-width btn btn-primary" 5603 5604 > 5605 <span>Add to cart�</span> 5606 � 5607 5608 5609<div class="loading__spinner hidden"> 5610 <svg 5611 aria-hidden="true" 5612 focusable="false" 5613 class="spinner" 5614 viewBox="0 0 66 66" 5615 xmlns="http://www.w3.org/2000/svg" 5616 > 5617 <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle> 5618 </svg> 5619</div> 5620</button></div><input type="hidden" name="product-id" value="9236777566429" /><input type="hidden" name="section-id" value="template--23404158877917__main" /></form></product-form> 5621 <div id="sold-out-message-template--23404158877917__main" class=" hidden mb-8 product-back-in-stock"> 5622 <modal-opener 5623 class="product-popup-modal__opener product__info-inner w-full" 5624 data-modal="#modal-back-in-stock-template--23404158877917__main-buy_buttons" 5625 > 5626 <button 5627 id="ProductPopup-buy_buttons" 5628 class="product-popup-modal__button btn btn-primary w-full" 5629 type="button" 5630 aria-haspopup="dialog" 5631 > 5632 Notify me 5633 </button> 5634 </modal-opener> 5635 </div> 5636 �<link href="//www.personalwine.com/cdn/shop/t/65/assets/component-pickup-availability.css?v=183992301541835540051788214101" rel="stylesheet" type="text/css" media="all" />�<pickup-availability 5637 class="product__pickup-availabilities quick-add-hidden" 5638 5639 data-root-url="/" 5640 data-variant-id="47382894444765" 5641 data-has-only-default-variant="false" 5642 data-product-page-color-scheme="gradient" 5643 > 5644 <template> 5645 <pickup-availability-preview class="pickup-availability-preview"> 5646 <svg 5647 xmlns="http://www.w3.org/2000/svg" 5648 fill="none" 5649 aria-hidden="true" 5650 focusable="false"
5651 class="icon icon-unavailable" 5652 fill="none" 5653 viewBox="0 0 20 20" 5654> 5655 <path fill="#DE3618" stroke="#fff" d="M13.94 3.94L10 7.878l-3.94-3.94A1.499 1.499 0 103.94 6.06L7.88 10l-3.94 3.94a1.499 1.499 0 102.12 2.12L10 12.12l3.94 3.94a1.497 1.497 0 002.12 0 1.499 1.499 0 000-2.12L12.122 10l3.94-3.94a1.499 1.499 0 10-2.121-2.12z"/> 5656</svg> 5657 5658 <div class="pickup-availability-info"> 5659 <p class="pickup-availability-title">Couldn't load pickup availability</p> 5660 <button class="pickup-availability-button link link--text underlined-link"> 5661 Refresh 5662 </button> 5663 </div> 5664 </pickup-availability-preview> 5665 </template> 5666 </pickup-availability> 5667
5667<script src="//www.personalwine.com/cdn/shop/t/65/assets/pickup-availability.js?v=56645529510628954141788214101" defer="defer"></script>
5667</div> 5668 5669<ul 5670 class="product__icon-text product__info-inner icon-with-text icon-with-text--horizontal list-unstyled grid lg:grid-flow-col grid-cols-2 lg:auto-cols-fr " 5671 style="--icon-size:20px; background-color:#fcfaf8" 5672 5673><li class="icon-with-text__item"><svg 5674 class="icon icon-accordion" 5675 aria-hidden="true" 5676 focusable="false" 5677 xmlns="http://www.w3.org/2000/svg" 5678 width="20" 5679 height="20" 5680 viewBox="0 0 20 20" 5681 ><path d="M18.5 1.5H1.5L1.5 18.5H18.5V1.5ZM1.5 0.5C0.947715 0.5 0.5 0.947715 0.5 1.5V18.5C0.5 19.0523 0.947715 19.5 1.5 19.5H18.5C19.0523 19.5 19.5 19.0523 19.5 18.5V1.5C19.5 0.947715 19.0523 0.5 18.5 0.5H1.5Z" fill-rule="evenodd"/> 5682 <path d="M14.9975 6.09084C15.201 6.27746 15.2147 6.59375 15.0281 6.79728L8.91631 13.4627C8.82231 13.5652 8.68987 13.6239 8.55079 13.6247C8.41172 13.6256 8.27857 13.5684 8.18335 13.4671L4.99513 10.0731C4.80606 9.87179 4.81596 9.55536 5.01723 9.3663C5.21849 9.17723 5.53492 9.18713 5.72399 9.3884L8.54335 12.3897L14.291 6.12145C14.4776 5.91791 14.7939 5.90421 14.9975 6.09084Z"/></svg><span class="inline-richtext">Design Yourself</span> 5683 </li><li class="icon-with-text__item"><svg 5684 class="icon icon-accordion" 5685 aria-hidden="true" 5686 focusable="false" 5687 xmlns="http://www.w3.org/2000/svg" 5688 width="20" 5689 height="20" 5690 viewBox="0 0 20 20" 5691 ><path d="M0 3.75156C0 3.47454 0.224196 3.24997 0.500755 3.24997H10.647C10.9235 3.24997 11.1477 3.47454 11.1477 3.75156V5.07505V5.63362V6.10938V13.6616C10.9427 14.0067 10.8813 14.1101 10.5516 14.6648L7.22339 14.6646V13.6614H10.1462V4.25316H1.00151V13.6614H2.6842V14.6646H0.500755C0.224196 14.6646 0 14.44 0 14.163V3.75156Z"/> 5692 <path d="M18.9985 8.08376L11.1477 6.10938V5.07505L19.6212 7.20603C19.8439 7.26203 20 7.46255 20 7.69253V14.1631C20 14.4401 19.7758 14.6647 19.4992 14.6647H17.3071V13.6615H18.9985V8.08376ZM11.1477 13.6616L13.3442 13.6615L13.3443 14.6647L10.5516 14.6648L11.1477 13.6616Z"/> 5693 <path d="M7.71269 14.1854C7.71269 15.6018 6.56643 16.75 5.15245 16.75C3.73847 16.75 2.59221 15.6018 2.59221 14.1854C2.59221 12.7691 3.73847 11.6209 5.15245 11.6209C6.56643 11.6209 7.71269 12.7691 7.71269 14.1854ZM5.15245 15.7468C6.01331 15.7468 6.71118 15.0478 6.71118 14.1854C6.71118 13.3231 6.01331 12.6241 5.15245 12.6241C4.29159 12.6241 3.59372 13.3231 3.59372 14.1854C3.59372 15.0478 4.29159 15.7468 5.15245 15.7468Z"/> 5694 <path d="M17.5196 14.1854C17.5196 15.6018 16.3733 16.75 14.9593 16.75C13.5454 16.75 12.3991 15.6018 12.3991 14.1854C12.3991 12.7691 13.5454 11.6209 14.9593 11.6209C16.3733 11.6209 17.5196 12.7691 17.5196 14.1854ZM14.9593 15.7468C15.8202 15.7468 16.5181 15.0478 16.5181 14.1854C16.5181 13.3231 15.8202 12.6241 14.9593 12.6241C14.0985 12.6241 13.4006 13.3231 13.4006 14.1854C13.4006 15.0478 14.0985 15.7468 14.9593 15.7468Z"/></svg><span class="inline-richtext">Fast Delivery</span> 5695 </li><li class="icon-with-text__item"><svg 5696 class="icon icon-accordion" 5697 aria-hidden="true" 5698 focusable="false" 5699 xmlns="http://www.w3.org/2000/svg" 5700 width="20" 5701 height="20" 5702 viewBox="0 0 20 20" 5703 ><path d="M7.5 10.565L9.5 12.565L13.5 8.56497M19.118 4.54897C15.9561 4.71689 12.8567 3.62358 10.5 1.50897C8.14327 3.62358 5.0439 4.71689 1.882 4.54897C1.62754 5.53409 1.49918 6.54752 1.5 7.56497C1.5 13.156 5.324 17.855 10.5 19.187C15.676 17.855 19.5 13.157 19.5 7.56497C19.5 6.52297 19.367 5.51297 19.118 4.54897Z" stroke="currentColor" fill="none" stroke-linecap="square" stroke-linejoin="round" fill-rule="evenodd"/></svg><span class="inline-richtext">Perfect Gift</span> 5704 </li><li class="icon-with-text__item"><svg 5705 class="icon icon-accordion" 5706 aria-hidden="true" 5707 focusable="false" 5708 xmlns="http://www.w3.org/2000/svg" 5709 width="20" 5710 height="20" 5711 viewBox="0 0 20 20" 5712 ><path d="M13.1436 3.0254C13.3363 3.0254 13.5118 3.13611 13.5948 3.30999C13.6778 3.48386 13.6536 3.68996 13.5324 3.83978C13.4038 3.99885 13.3639 4.17442 13.3691 4.34267C13.3746 4.52205 13.4315 4.66574 13.4591 4.71337C14.6041 6.69086 15.0342 9.52317 15.1116 10.6863C15.1123 10.6974 15.1127 10.7085 15.1127 10.7195V18.7774
5712C15.1127 19.0535 14.8888 19.2774 14.6127 19.2774H5.39716C5.12101 19.2774 4.89716 19.0535 4.89716 18.7774V10.7358C4.84125 9.8507 5.03236 8.79357 5.29232 7.81832C5.55654 6.82711 5.9041 5.87643 6.18601 5.1985C6.2393 5.07034 6.31494 4.93247 6.37143 4.82952C6.38977 4.79607 6.4061 4.76631 6.41899 4.74177C6.48471 4.61655 6.51337 4.53933 6.52193 4.47554C6.53252 4.3967 6.51006 4.29687 6.439 4.16377C6.40471 4.09955 6.36476 4.03788 6.32141 3.97381C6.31602 3.96585 6.30986 3.95683 6.30314 3.94701C6.26852 3.89642 6.21927 3.82444 6.18678 3.7649C6.10224 3.60998 6.10564 3.42197 6.19571 3.27021C6.28579 3.11844 6.44919 3.0254 6.62568 3.0254H13.1436ZM12.3915 4.02539L7.46117 4.0254C7.51302 4.19577 7.54196 4.39323 7.51304 4.6086C7.48043 4.85158 7.38361 5.05566 7.30443 5.20651C7.27233 5.26767 7.2448 5.31773 7.22052 5.36187C7.17495 5.44473 7.14083 5.50678 7.10936 5.58246C6.84062 6.22873 6.50895 7.13661 6.25858 8.07589C6.00564 9.02481 5.8476 9.96272 5.89604 10.6861C5.89678 10.6972 5.89716 10.7084 5.89716 10.7195V18.2774H14.1127V10.7364C14.036 9.61852 13.6192 6.98555 12.5937 5.21445C12.4833 5.0239 12.3802 4.71869 12.3696 4.37355C12.3661 4.26297 12.3722 4.14581 12.3915 4.02539Z" /> 5713 <path d="M6.37329 1.69755C6.45246 1.21406 6.87025 0.859121 7.36017 0.859131L12.4688 0.859235C12.9266 0.859245 13.3259 1.17011 13.4382 1.61391L13.7705 2.92708C13.9304 3.55892 13.4528 4.17241 12.8011 4.17241H6.85086C6.38827 4.17241 6.03597 3.75773 6.11071 3.30122L6.37329 1.69755ZM12.4688 1.85924L7.36015 1.85913L7.14512 3.17241L12.8011 3.17241L12.4688 1.85924Z" /> 5714 <path d="M14.1014 8.95304L14.1 8.95373L14.0595 8.97423L14.0578 8.9751L14.0151 8.99651L13.9721 9.01791L13.9287 9.03926L13.8849 9.06055L13.8407 9.08171L13.7961 9.10273L13.7511 9.12356L13.7056 9.14416L13.6598 9.1645L13.6135 9.18453L13.5667 9.20423L13.5195 9.22355L13.4718 9.24244L13.4237 9.26088L13.3751 9.27881L13.326 9.29621L13.2764 9.31301L13.2264 9.3292L13.1759 9.34472L13.1249 9.35952L13.0735 9.37358L13.0216 9.38685L12.9693 9.39928L12.9166 9.41084L12.8634 9.42149L12.8099 9.4312L12.7561 9.43992L12.7019 9.44763L12.6474 9.45429L12.5928 9.45989L12.5379 9.4644L12.4829 9.4678L12.4277 9.47008L12.3725 9.47124L12.3173 9.47126L12.2622 9.47014L12.2071 9.46791L12.1522 9.46455L12.0974 9.4601L12.0429 9.45457L11.9886 9.44797L11.9347 9.44035L11.8811 9.43172L11.8278 9.42213L11.775 9.4116L11.7225 9.40017L11.6705 9.38789L11.6189 9.37478L11.5678 9.36089L11.5172 9.34626L11.467 9.33093L11.4173 9.31495L11.3681 9.29834L11.3193 9.28116L11.2711 9.26344L11.2232 9.24523L11.1759 9.22655L11.129 9.20746L11.0826 9.18799L11.0365 9.16818L10.991 9.14806L10.9458 9.12768L10.9011 9.10707L10.8568 9.08626L10.8129 9.0653L10.7693 9.04422L10.7262 9.02306L10.6835 9.00185L10.6429 8.98154L10.6411 8.98062L10.6006 8.96015L10.5991 8.95942L10.5575 8.93827L10.3156 8.81448L10.2766 8.79467L10.275 8.79391L10.2379 8.77518L10.236 8.77423L10.1997 8.75604L10.1974 8.75491L10.1618 8.73728L10.1591 8.73597L10.1228 8.71818L10.0855 8.70018L10.0486 8.68263L10.0122 8.66558L9.97608 8.64902L9.94047 8.63303L9.90526 8.61757L9.87047 8.60267L9.83616 8.58838L9.80227 8.57469L9.76888 8.56162L9.73593 8.54918L9.70345 8.53737L9.67144 8.52621L9.63992 8.5157L9.60886 8.50584L9.57828 8.49663L9.54817 8.48807L9.51852 8.48015L9.48931 8.47287L9.46055 8.46622L9.4322 8.46019L9.40425 8.45477L9.37668 8.44995L9.34945 8.44573L9.32254 8.44208L9.2959 8.43899L9.26951 8.43647L9.24331 8.43449L9.21726 8.43306L9.19132 8.43216L9.16543 8.43179L9.13956 8.43196L9.11364 8.43265L9.08764 8.43388L9.0615 8.43565L9.03519 8.43797L9.00865 8.44084L8.98184 8.44427L8.95474 8.44828L8.9273 8.45287L8.8995 8.45806L8.87131 8.46385L8.84271 8.47026L8.81367 8.4773L8.78419 8.48498L8.75425 8.4933L8.72385 8.50226L8.69298 8.51187L8.66163 8.52214L8.62981 8.53305L8.5975 8.54461L8.56474 8.55681L8.5315 8.56965L8.4978 8.5831L8.46365 8.59717L8.42906 8.61183L8.39401 8.62707L8.35854 8.64287L8.32264 8.65922L8.28633 8.67608L8.24961 8.69344L8.21249 8.71127L8.17495 8.72956L8.13702 8.74826L8.09873 8.76734L8.06087 8.78638L8.05921 8.78722L8.02161 8.80626L8.02033 8.80691L7.7378 8.95136L7.73649 8.95203L7.69426 8.9734L7.65166 8.9948L7.60868 9.0162L7.5653 9.03757L7.52154 9.05886L7.47737 9.08003L7.4328 9.10106L7.38781 9.12191L7.3424 9.14253L7.29655 9.16289L7.25028 9.18295L7.20355 9.20268L7.15638 9.22202L7.10874 9.24095L7.06065 9.25943L7.01208 9.2774L6.96304 9.29484L6.91352 9.3117L6.86353 9.32793L6.81307 9.3435L6.76213 9.35837L6.71074 9.37249L6.65889 9.38582L6.6066 9.39832L6.5539 9.40995L6.50079 9.42068L6.44731 9.43046L6.39348 9.43926L6.33933 9.44705L6.2849 9.4538L6.23024 9.45948L6.17537 9.46408L6.12035 9.46757L6.06522 9.46994L6.01004 9.47119L5.95484 9.4713L5.89968 9.47027L5.8446 9.46813L5.78965 9.46486L5.73489 9.46049L5.68035 9.45505L5.62607 9.44854L5.57209 9.44099L5.51844 9.43245L5.46516 9.42293L5.4636 8.33645L5.49517 8.34701L5.52626 8.35692L5.55688 8.36618L5.58703 8.3748L5.61672 8.38277L5.64596 8.3901L5.67476 8.3968L5.70313 8.40288L5.73111 8.40834L5.75871 8.41321L5.78597 8.41748L5.81291 8.42118L5.83956 8.42431L5.86597 8.42688L5.89219 8.42889L5.91825 8.43037L5.9442 8.43131L5.97009 8.43172L5.99596 8.4316L6.02187 8.43095L6.04786 8.42976L6.07399 8.42803L6.10029 8.42576L6.12681 8.42294L6.15359 8.41955L6.18067 8.41559L6.20808 8.41104L6.23585 8.4059L6.26401 8.40016L6.29258 8.39379L6.32158 8.3868L6.35102 8.37918L6.38092 8.37092L6.41129 8.3
571462L6.44212 8.35244L6.47344 8.34223L6.50522 8.33137L6.53748 8.31986L6.57022 8.30771L6.60341 8.29492L6.63708 8.28152L6.67119 8.2675L6.70576 8.25288L6.74077 8.23768L6.77619 8.22193L6.81207 8.20562L6.84835 8.1888L6.88503 8.17148L6.92212 8.15369L6.95964 8.13543L6.99752 8.11677L7.0358 8.0977L7.0736 8.07871L7.07529 8.07786L7.11282 8.05886L7.11413 8.0582L7.35502 7.93496L7.39775 7.9132L7.43994 7.89183L7.48251 7.87043L7.52546 7.84902L7.5688 7.82766L7.61254 7.80636L7.65667 7.78517L7.70122 7.76413L7.74617 7.74327L7.79155 7.72263L7.83736 7.70225L7.8836 7.68216L7.93029 7.66241L7.97743 7.64303L8.02502 7.62406L8.07308 7.60555L8.12161 7.58753L8.17062 7.57005L8.22009 7.55315L8.27005 7.53686L8.32048 7.52123L8.37137 7.50631L8.42273 7.49213L8.47454 7.47873L8.52679 7.46617L8.57947 7.45446L8.63254 7.44367L8.686 7.43381L8.7398 7.42493L8.79392 7.41706L8.84833 7.41022L8.90298 7.40445L8.95783 7.39977L9.01284 7.39619L9.06796 7.39373L9.12315 7.3924L9.17835 7.3922L9.23351 7.39313L9.2886 7.39519L9.34355 7.39836L9.39833 7.40264L9.45289 7.408L9.50719 7.41443L9.5612 7.42189L9.61487 7.43036L9.66819 7.4398L9.72111 7.45019L9.77363 7.46147L9.82572 7.47363L9.87736 7.48661L9.92854 7.50037L9.97926 7.51489L10.0295 7.53011L10.0793 7.54599L10.1286 7.5625L10.1774 7.57959L10.2257 7.59723L10.2736 7.61537L10.3211 7.63397L10.368 7.653L10.4145 7.67241L10.4606 7.69217L10.5063 7.71224L10.5515 7.73258L10.5963 7.75316L10.6407 7.77394L10.6846 7.79488L10.7282 7.81594L10.7714 7.83709L10.8142 7.8583L10.8566 7.87952L10.8987 7.90073L10.9404 7.92189L11.1826 8.04586L11.2217 8.06572L11.2232 8.06645L11.2604 8.08526L11.2622 8.08618L11.2987 8.10446L11.3009 8.10556L11.3367 8.12329L11.3393 8.12456L11.3757 8.14243L11.413 8.1605L11.45 8.17812L11.4865 8.19526L11.5227 8.21189L11.5584 8.22799L11.5936 8.24354L11.
57146285 8.25851L11.6629 8.2729L11.6968 8.28669L11.7303 8.29986L11.7633 8.31241L11.7959 8.32431L11.8279 8.33558L11.8596 8.34619L11.8907 8.35616L11.9213 8.36547L11.9515 8.37414L11.9813 8.38215L12.0105 8.38954L12.0394 8.39629L12.0678 8.40242L12.0958 8.40793L12.1234 8.41284L12.1507 8.41716L12.1777 8.42091L12.2043 8.42408L12.2308 8.42669L12.257 8.42875L12.2831 8.43027L12.309 8.43126L12.3349 8.43171L12.3608 8.43163L12.3867 8.43102L12.4127 8.42987L12.4388 8.42819L12.4651 8.42596L12.4916 8.42318L12.5183 8.41984L12.5454 8.41592L12.5728 8.41143L12.6005 8.40633L12.6286 8.40064L12.6572 8.39432L12.6861 8.38738L12.7155 8.37981L12.7454 8.37159L12.7757 8.36273L12.8065 8.35322L12.8378 8.34306L12.8696 8.33225L12.9018 8.3208L12.9345 8.3087L12.9676 8.29596L13.0013 8.28261L13.0353 8.26864L13.0699 8.25407L13.1048 8.23892L13.1402 8.2232L13.1761 8.20694L13.2123 8.19015L13.249 8.17288L13.286 8.15512L13.3221 8.13761L13.3601 8.11889L13.3626 8.11766L13.3986 8.09977L13.4007 8.09872L13.4374 8.08028L13.4391 8.07941L13.4766 8.06045L13.4779 8.05977L13.76 7.91553L13.7613 7.9149L13.8034 7.89353L13.846 7.87213L13.8889 7.85073L13.9322 7.82936L13.9759 7.80805L14.02 7.78685L14.0645 7.7658L14.1095 7.74492L14.1548 7.72426L14.2006 7.70386L14.2468 7.68375L14.184 8.9109L14.1429 8.93193L14.1014 8.95304Z" /></svg><span class="inline-richtext">Premium Wines</span> 5715 </li></ul> 5716� 5717<div class="product__share product__info-inner" > 5718 <div class="flex gap-x-6 items-center"> 5719 <span class="text-sm">Share:</span> 5720 5721 <!-- /snippets/social-sharing.liquid --> 5722<div class="social-sharing flex items-center gap-x-5"> 5723 5724 <a target="_blank" href="//www.facebook.com/sharer.php?u=https://www.personalwine.com/products/tafida-cabernet-sauvignon" class="social-sharing__link share-facebook" title="Share on Facebook"> 5725 <svg aria-hidden="true" focusable="false" class="icon icon-facebook" viewBox="0 0 20 20"> 5726 <path fill="currentColor" 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"/> 5727</svg> 5728
5729 <span class="share-title visually-hidden">Share on Facebook</span> 5730 </a> 5731 5732 5733 5734 <a target="_blank" href="//twitter.com/share?text=Tafida%20Cabernet%20Sauvignon&url=https://www.personalwine.com/products/tafida-cabernet-sauvignon" class="social-sharing__link share-twitter" title="Share on X"> 5735 <svg aria-hidden="true" focusable="false" class="icon icon-twitter" viewBox="0 0 20 20"> 5736 <path fill-rule="evenodd" clip-rule="evenodd" d="M7.27274 2.8L10.8009 7.82176L15.2183 2.8H16.986L11.5861 8.93887L17.3849 17.1928H12.7272L8.99645 11.8828L4.32555 17.1928H2.55769L8.21157 10.7657L2.61506 2.8H7.27274ZM13.5151 15.9248L5.06895 4.10931H6.4743L14.9204 15.9248H13.5151Z" fill="currentColor"/> 5737</svg> 5738 5739 <span class="share-title visually-hidden">Share on X</span> 5740 </a> 5741 5742 5743 5744 <a target="_blank" href="//pinterest.com/pin/create/button/?url=https://www.personalwine.com/products/tafida-cabernet-sauvignon&media=//www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?crop=center&height=1024&v=1774885627&width=1024&description=Tafida%20Cabernet%20Sauvignon" class="social-sharing__link share-pinterest" title="Pin on Pinterest"> 5745 <svg aria-hidden="true" focusable="false" class="icon icon-pinterest" viewBox="0 0 20 20"> 5746 <path fill="currentColor" d="M10 2.01c2.124.01 4.16.855 5.666 2.353a8.087 8.087 0 0 1 1.277 9.68A7.952 7.952 0 0 1 10 18.04a8.164 8.164 0 0 1-2.276-.307c.403-.653.672-1.24.816-1.729l.567-2.2c.134.27.393.5.768.702.384.192.768.297 1.19.297.836 0 1.585-.24 2.248-.72a4.678 4.678 0 0 0 1.537-1.969c.37-.89.554-1.848.537-2.813 0-1.249-.48-2.315-1.43-3.227a5.061 5.061 0 0 0-3.65-1.374c-.893 0-1.729.154-2.478.461a5.023 5.023 0 0 0-3.236 4.552c0 .72.134 1.355.413 1.902.269.538.672.922 1.22 1.152.096.039.182.039.25 0 .066-.028.114-.096.143-.192l.173-.653c.048-.144.02-.288-.105-.432a2.257 2.257 0 0 1-.548-1.565 3.803 3.803 0 0 1 3.976-3.861c1.047 0 1.863.288 2.44.855.585.576.883 1.315.883 2.228 0 .768-.106 1.479-.317 2.122a3.813 3.813 0 0 1-.893 1.556c-.384.384-.836.576-1.345.576-.413 0-.749-.144-1.018-.451-.259-.307-.345-.672-.25-1.085.147-.514.298-1.026.452-1.537l.173-.701c.057-.25.086-.451.086-.624 0-.346-.096-.634-.269-.855-.192-.22-.451-.336-.797-.336-.432 0-.797.192-1.085.595-.288.394-.442.893-.442 1.499.005.374.063.746.173 1.104l.058.144c-.576 2.478-.913 3.938-1.037 4.36-.116.528-.154 1.153-.125 1.863A8.067 8.067 0 0 1 2 10.03c0-2.208.778-4.11 2.343-5.666A7.721 7.721 0 0 1 10 2.001v.01Z"/> 5747</svg> 5748
5749 <span class="share-title visually-hidden">Pin on Pinterest</span> 5750 </a> 5751 5752 5753 <a 5754 href="https://api.whatsapp.com/send?text=Tafida+Cabernet+Sauvignon%20https%3A%2F%2Fwww.personalwine.com%2Fproducts%2Ftafida-cabernet-sauvignon" 5755 target="_blank" 5756 rel="noopener noreferrer" 5757 class="social-sharing__link share-whatsapp" 5758 > 5759 <svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="100" height="100" viewBox="0 0 24 24" class="icon icon-whatsapp" fill="currentColor"> 5760 <path d="M19.077,4.928C17.191,3.041,14.683,2.001,12.011,2c-5.506,0-9.987,4.479-9.989,9.985 c-0.001,1.76,0.459,3.478,1.333,4.992L2,22l5.233-1.237c1.459,0.796,3.101,1.215,4.773,1.216h0.004 c5.505,0,9.986-4.48,9.989-9.985C22.001,9.325,20.963,6.816,19.077,4.928z M16.898,15.554c-0.208,0.583-1.227,1.145-1.685,1.186 c-0.458,0.042-0.887,0.207-2.995-0.624c-2.537-1-4.139-3.601-4.263-3.767c-0.125-0.167-1.019-1.353-1.019-2.581 S7.581,7.936,7.81,7.687c0.229-0.25,0.499-0.312,0.666-0.312c0.166,0,0.333,0,0.478,0.006c0.178,0.007,0.375,0.016,0.562,0.431 c0.222,0.494,0.707,1.728,0.769,1.853s0.104,0.271,0.021,0.437s-0.125,0.27-0.249,0.416c-0.125,0.146-0.262,0.325-0.374,0.437 c-0.125,0.124-0.255,0.26-0.11,0.509c0.146,0.25,0.646,1.067,1.388,1.728c0.954,0.85,1.757,1.113,2.007,1.239 c0.25,0.125,0.395,0.104,0.541-0.063c0.146-0.166,0.624-0.728,0.79-0.978s0.333-0.208,0.562-0.125s1.456,0.687,1.705,0.812 c0.25,0.125,0.416,0.187,0.478,0.291C17.106,14.471,17.106,14.971,16.898,15.554z"></path> 5761 </svg> 5762 <span class="share-title visually-hidden">Share on Whatsapp</span> 5763 </a> 5764 5765</div> 5766 5767 5768 <button id="Share-template--23404158877917__main" class="share-button__copy ms-1" title="Copy link" data-url="https://www.personalwine.com/products/tafida-cabernet-sauvignon"> 5769 <span class="share-button__copy-tip">Copied</span> 5770 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="var(--icon-stroke-width)" stroke="currentColor" class="icon icon-clipboard"> 5771 <path stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 0 0-2.25-2.25H6A2.25 2.25 0 0 0 3.75 6v8.25A2.25 2.25 0 0 0 6 16.5h2.25m8.25-8.25H18a2.25 2.25 0 0 1 2.25 2.25V18A2.25 2.25 0 0 1 18 20.25h-7.5A2.25 2.25 0 0 1 8.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 0 0-2.25 2.25v6" /> 5772</svg> 5773 5774 <span class="visually-hidden">Copy link</span> 5775 </button> 5776 </div> 5777</div>
5778<script src="//www.personalwine.com/cdn/shop/t/65/assets/share.js?v=30132377076388459871788214101" defer="defer"></script>
5778 5779 5780 5781�</product-info> 5782 </div> 5783 </div> 5784 5785 � 5786 5787 5788� 5789<modal-dialog id="modal-back-in-stock-template--23404158877917__main-buy_buttons" class="product-popup-modal product-popup-modal-backinstock" > 5790 <div 5791 role="dialog" 5792 aria-label="Notify me" 5793 aria-modal="true" 5794 class="product-popup-modal__content" 5795 style="--modal-width:480px;" 5796 > 5797 <div class="modal__header flex justify-between ps-10 lg:ps-16 pe-6 lg:pe-8 py-6 lg:py-8 items-center border-b"> 5798 <h5>Notify me</h5> 5799 5800 <button 5801 id="ModalClose-buy_buttons" 5802 type="button" 5803 class="product-popup-modal__toggle modal__close-btn" 5804 aria-label="Close" 5805 tabindex="-1" 5806 > 5807 5808<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="var(--icon-stroke-width)" stroke="currentColor" class=" icon icon-close size-10"> 5809 <path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" /> 5810</svg> 5811 5812 5813 </button> 5814 </div> 5815 <div class="product-popup-modal__content-info px-16 pt-10 pb-16" > 5816 <div class="pb-10"> 5817 <div class="text-size-small opacity-70">Get notified when this product is back in stock!</div> 5818 <div class="flex mt-8 gap-8 items-center"> 5819 5820 <div class="block basis-[90px]" > 5821 5822 5823 �<responsive-image class="responsive-image" style="--aspect-ratio:100%"> 5824<img src="//www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_labeledExample_1.png?crop=center&height=270&v=1774892206&width=90" alt="A bottle of Tafida Cabernet Sauvignon with a white label displaying âYour Design Hereâ in bold uppercase letters." width="90" height="270" loading="lazy" srcset="//www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206&width=90 90w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206&width=180 180w, //www.personalwine.com/cdn/shop/files/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206&width=400 400w" sizes="90px" class=" motion-reduce lazy-image"> 5825</responsive-image> 5826 </div><div> 5827 <span class="card__heading">Tafida Cabernet Sauvignon</span><span id="sold-out-variant-name-template--23404158877917__main"> 5828 - Label 5829 </span><div class="product-card-sm__info__price"> 5830 �<div 5831 class=" 5832 price text-size-small price--sold-out" 5833> 5834 <div class="price__container"><div class="price__regular"><span class="price-text-cstm"> Price </span> 5835 <span class="visually-hidden visually-hidden--inline">Regular price</span> 5836 <span class="price-item price-item--regular"> 5837 $19.99 5838 </span></div> 5839 <div class="price__sale"> 5840 <span class="visually-hidden visually-hidden--inline">Sale price</span> 5841 <span class="price-text-cstm"> Price </span>
5842 <span class="price-item price-item--sale price-item--last"> 5843 $19.99 5844 </span> 5845 <span class="visually-hidden visually-hidden--inline">Regular price</span> 5846 <span> 5847 <s class="price-item price-item--regular"> 5848 5849 5850 5851 </s> 5852 </span></div> 5853 <small class="unit-price caption hidden"> 5854 <span class="visually-hidden">Unit price</span> 5855 <span class="price-item price-item--last"> 5856 <span></span> 5857 <span aria-hidden="true">/</span> 5858 <span class="visually-hidden"> per </span> 5859 <span> 5860 </span> 5861 </span> 5862 </small> 5863 </div></div> 5864 5865 </div> 5866 </div> 5867 </div> 5868 </div><form method="post" action="/contact#ContactFormSoldout" id="ContactFormSoldout" accept-charset="UTF-8" class="back_in_stock"><input type="hidden" name="form_type" value="contact" /><input type="hidden" name="utf8" value="â" /><div class="fieldset flex flex-col justify-center gap-y-6"><div class="contact__fields flex flex-col gap-y-6" > 5869 <div class="field hidden"> 5870 <input 5871 class="field__input hidden" 5872 autocomplete="name" 5873 type="text" 5874 id="ContactFormSoldout-name" 5875 name="contact[Product name]" 5876 value="Tafida Cabernet Sauvignon" 5877 placeholder="Product name" 5878 > 5879 <label class="field__label hidden" for="ContactFormSoldout-name">Product name</label> 5880 </div> 5881 <div class="field hidden"> 5882 <div class="select hidden"> 5883 <select 5884 id="ContactFormSoldout-select-template--23404158877917__main" 5885 class="field__input select__select" 5886 name="contact[Variant]" 5887 > 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 </select> 5899 <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> 5900 <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> 5901</svg> 5902 5903 </div> 5904 <label class="field__label" for="ContactFormSoldout-select-template--23404158877917__main">Variant </label> 5905 </div> 5906 <div class="field field--with-error"> 5907 <input 5908 autocomplete="email" 5909 type="email" 5910 id="ContactFormSoldout-email" 5911 class="field__input" 5912 name="contact[email]" 5913 spellcheck="false" 5914 autocapitalize="off" 5915 value="" 5916 aria-required="true" 5917 5918 placeholder="Email" 5919 > 5920 <label class="field__label" for="ContactFormSoldout-email">Email 5921 <span aria-hidden="true">*</span></label 5922 ></div> 5923 </div> 5924 <div class="contact__button mt-5 text-center"><button id="" type="submit" class="btn btn-primary w-full" > 5925 Notify me 5926 5927 </button></div> 5928 </div></form></div> 5929 </div> 5930 </modal-dialog> 5931 ��
5931<script type="application/ld+json"> 5932 { 5933 "@context": "http://schema.org/", 5934 "@type": "Product", 5935 "name": "Tafida Cabernet Sauvignon", 5936 "url": "https:\/\/www.personalwine.com\/products\/tafida-cabernet-sauvignon", 5937 "image": [ 5938 "https:\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206\u0026width=1920" 5939 ], 5940 "description": "Pair this Tafida Cabernet Sauvignon wine with any savory dish and enjoy till the last drop.\n\nThis fresh vintage was an ideal growing season with the perfect conditions for bloom and fruit set. A dry winter led to a mild spring and cool summer. The extra summer fog and cloud cover allowed for an extended growing season resulting in excellent flavor concentration, good acidity, and structure.\nThe Tafida California Cabernet Sauvignon opens with tempting aromas of blackberry, plum, and bright fruits. Alluring flavors of ripe, red berries and tasty notes of blackcurrant and oak envelop the palate and lead to an elegantly smooth finish. Give this California Cabernet wine and add a label or engraving to the bottle.\n\nCreate an amazing gift package for the wine lover in your life by pairing your red wine gifts with a custom wine bag, set of custom etched wine glasses, or handmade wooden wine box. The juice may be too delicious to hold on to, but engraved keepsakes last a lifetime.", 5941 "sku": "WR-TAFIDA-CS-NV", 5942 "brand": { 5943 "@type": "Brand", 5944 "name": "personalwine" 5945 }, 5946 "offers": [{ 5947 "@type" : "Offer","sku": "WR-TAFIDA-CS-NV","availability" : "http://schema.org/InStock", 5948 "price" : 35.0, 5949 "priceCurrency" : "USD", 5950 "url" : "https:\/\/www.personalwine.com\/products\/tafida-cabernet-sauvignon?variant=47382894444765" 5951 },�{ 5952 "@type" : "Offer","sku": "WR-TAFIDA-CS-NV","availability" : "http://schema.org/InStock", 5953 "price" : 65.0, 5954 "priceCurrency" : "USD", 5955 "url" : "https:\/\/www.personalwine.com\/products\/tafida-cabernet-sauvignon?variant=47382894411997" 5956 },�{ 5957 "@type" : "Offer","sku": "WR-TAFIDA-CS-NV","availability" : "http://schema.org/InStock", 5958 "price" : 35.0, 5959 "priceCurrency" : "USD", 5960 "url" : "https:\/\/www.personalwine.com\/products\/tafida-cabernet-sauvignon?variant=47382894477533" 5961 }�] 5962 } 5963 </script>
5963 5964 </div> 5965</section> 5966
5967<script> 5968 window.isCustomilyProduct = true; 5969</script>
vendor: 2 bytes, line 5969
5969
5970<script> 5971 window.currentProductType = "Wine"; 5972</script>
5972 5973� 5974 5975 5976 5977 5978
5979<script> 5980document.addEventListener("DOMContentLoaded", () => { 5981 document.querySelectorAll(".rich-text__text.rte").forEach(el => { 5982 const h4 = el.querySelector("h4"); 5983 if (!h4 || h4.textContent.trim() !== "Customization") return; 5984 5985 const hasContent = [...el.querySelectorAll("p")].some(p => 5986 p.textContent.replace(/\u00A0|â¢/g, "").trim() 5987 ); 5988 5989 if (!hasContent) { 5990 // hide heading 5991 h4.style.display = "none"; 5992 5993 // hide separator just before this rich text block 5994 const separator = el.previousElementSibling; 5995 if (separator && separator.classList.contains("rich-text__separator")) { 5996 separator.style.display = "none"; 5997 } 5998 } 5999 }); 6000}); 6001</script>
6001 6002 6003</section><section id="shopify-section-template--23404158877917__pdp_accordion_FxfLiq" class="shopify-section section--faq"> 6004<link href="//www.personalwine.com/cdn/shop/t/65/assets/component-accordion.css?v=36008402948962991601788214101" rel="stylesheet" type="text/css" media="all" /> 6005<link href="//www.personalwine.com/cdn/shop/t/65/assets/faq-section.css?v=67224121784845122431788214101" rel="stylesheet" type="text/css" media="all" /> 6006� 6007 6008 6009<div class="pdp-faq section-faq isolate section-padding section-bg" 6010 6011 6012 6013 6014 6015�style="--section-padding-top: 36px; --section-padding-bottom: 36px;"> 6016 <div class="container">��<div class="grid1 gap-x-10 gap-y-12 "><div class=" " > 6017 <div class=""> 6018 6019 6020 6021 6022 <div class="accordion" > 6023 <collapsible-details> 6024 <details class="is-open" open > 6025 <summary id="Summary-question_433x4Y-template--23404158877917__pdp_accordion_FxfLiq"> 6026 <div class="summary__title"> 6027 6028 <h3 class="accordion__title inline-richtext h4"> 6029 Product Details 6030 </h3> 6031 </div> 6032 <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> 6033 <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> 6034</svg> 6035 6036 </summary> 6037 6038 <div class="collapsible__content" role="region" aria-labelledby="Summary-question_433x4Y-template--23404158877917__pdp_accordion_FxfLiq"> 6039 <div class="collapsible__content-inner rte"> 6040 <div class="pdp-block-content"><p><span class="metafield-multi_line_text_field">plush ⢠concentrated ⢠dark fruit</span></p><p class="uk-text-muted"><i>Pair this Tafida Cabernet Sauvignon wine with any savory dish and enjoy till the last drop.</i></p> 6041<hr> 6042<p>This fresh vintage was an ideal growing season with the perfect conditions for bloom and fruit set. A dry winter led to a mild spring and cool summer. The extra summer fog and cloud cover allowed for an extended growing season resulting in excellent flavor concentration, good acidity, and structure.</p> 6043<p>The <a href="https://www.personalwine.com/collections/personalized-california-wine-gifts" title="Personalized California Wine Gifts" rel="noopener" target="_blank">Tafida California Cabernet Sauvignon</a> opens with tempting aromas of blackberry, plum, and bright fruits. Alluring flavors of ripe, red berries and tasty notes of blackcurrant and oak envelop the palate and lead to an elegantly smooth finish. Give this California Cabernet wine and add a label or engraving to the bottle.</p> 6044<hr> 6045<p class="uk-text-smaller">Create an amazing gift package for the wine lover in your life by pairing your red wine gifts with a <a href="https://www.personalwine.com/products/custom-engraved-wine-tote-gift-bag">custom wine bag</a>, set of <a href="https://www.personalwine.com/collections/drinkware">custom etched wine glasses</a>, or <a href="https://www.personalwine.com/collections/wine-boxes">handmade wooden wine box</a>. The juice may be too delicious to hold on to, but engraved keepsakes last a lifetime.</p></div> 6046 6047 6048 </div> 6049 </div> 6050 </details> 6051 </collapsible-details> 6052 </div> 6053� 6054 6055 6056 6057� 6058 6059 6060 6061 6062 <div class="accordion" > 6063 <collapsible-details> 6064 <details class="is-open" open > 6065 <summary id="Summary-question_nDg6YL-template--23404158877917__pdp_accordion_FxfLiq"> 6066 <div class="summary__title"> 6067 6068 <h3 class="accordion__title inline-richtext h4"> 6069 Bulk Discounts 6070 </h3> 6071 </div> 6072 <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> 6073 <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> 6074</svg> 6075 6076 </summary> 6077 6078 <div class="collapsible__content" role="region" aria-labelledby="Summary-question_nDg6YL-template--23404158877917__pdp_accordion_FxfLiq"> 6079 <div class="collapsible__content-inner rte"> 6080 <div class="pdp-block-content"></div> 6081 6082 6083 <div class="bulk_discount"></div> 6084 6085 </div> 6086 </div> 6087 </details> 6088 </collapsible-details> 6089 </div> 6090�</div> 6091 </div> 6092 </div> 6093 </div> 6094</div> 6095 6096 6097 6098</section><section id="shopify-section-template--23404158877917__tw_product_information_a4U4EJ" class="shopify-section section"><section class="mo-facts mo-facts--template--23404158877917__tw_product_information_a4U4EJ"> 6099 <style> 6100 .mo-facts__inner{ 6101 background: #fcfaf8; 6102 padding:30px 0px; 6103 } 6104 6105 .mo-facts--template--23404158877917__tw_product_information_a4U4EJ .mo-facts__grid{ 6106 display:flex; 6107 justify-content:space-between; 6108 align-items:center; 6109 flex-wrap:wrap; 6110 } 6111 .mo-facts--template--23404158877917__tw_product_information_a4U4EJ .mo-facts__item{ 6112 text-align:center;
6113 flex:1 1 calc(17% - 10px); 6114 } 6115 .mo-facts--template--23404158877917__tw_product_information_a4U4EJ .mo-facts__label{ 6116 color:#222222; 6117 font-size:20px; 6118 line-height:1.2; 6119 font-weight:500; 6120 margin:0 0 10px; 6121 } 6122 .mo-facts--template--23404158877917__tw_product_information_a4U4EJ .mo-facts__value{ 6123 color:#7a7a7a; 6124 font-size:18px; 6125 line-height:1.45; 6126 font-style:italic; 6127 opacity:.9; 6128 } 6129 6130 @media (max-width:640px){ 6131 .mo-facts--template--23404158877917__tw_product_information_a4U4EJ .mo-facts__grid{ 6132 align-items: unset; 6133 gap: 10px; 6134 } 6135 .mo-facts--template--23404158877917__tw_product_information_a4U4EJ .mo-facts__item{ 6136 flex:1 1 calc(50% - 1rem); 6137 text-align:left; 6138 padding-bottom: 8px; 6139 } 6140 .mo-facts--template--23404158877917__tw_product_information_a4U4EJ .mo-facts__value{ 6141 font-size:16px; 6142 } 6143 } 6144 </style> 6145 6146 6147 �� 6148 6149 6150 6151 6152 6153 <div class="mo-facts__inner"> 6154 <div class="container mo-facts__grid"> 6155 6156 6157 6158 6159 6160 6161 <div class="mo-facts__item"> 6162 6163 <div class="mo-facts__label">Vintage</div> 6164 6165 6166 <div class="mo-facts__value">2022</div> 6167 6168 </div> 6169 6170 6171 6172 6173 6174 6175 <div class="mo-facts__item"> 6176 6177 <div class="mo-facts__label">Region</div> 6178 6179 6180 <div class="mo-facts__value">California</div> 6181 6182 </div> 6183 6184 6185 6186 6187 6188 6189 <div class="mo-facts__item"> 6190 6191 <div class="mo-facts__label">Varietal</div> 6192 6193 6194 <div class="mo-facts__value">Cabernet Sauvignon</div> 6195 6196 </div> 6197 6198 6199 6200 6201 6202 6203 <div class="mo-facts__item"> 6204 6205 <div class="mo-facts__label">ABV</div> 6206 6207 6208 <div class="mo-facts__value">13.0% by Vol.</div> 6209 6210 </div> 6211 6212 6213 6214 6215 6216 6217 <div class="mo-facts__item"> 6218 6219 <div class="mo-facts__label">Volume</div> 6220 6221 6222 <div class="mo-facts__value">750 mL</div> 6223 6224 </div> 6225 6226 6227 6228 6229 6230 6231 <div class="mo-facts__item"> 6232 6233 <div class="mo-facts__label">Design Area</div> 6234 6235 6236 <div class="mo-facts__value">3.5" x 4.5"</div> 6237 6238 </div> 6239 6240 6241 6242 </div> 6243 </div> 6244 6245 6246</section> 6247
6248<script> 6249(function () { 6250 function reloadFactsSection(variantId) { 6251 fetch(`${window.location.pathname}?variant=${variantId}§ion_id=template--23404158877917__tw_product_information_a4U4EJ`) 6252 .then(res => res.text()) 6253 .then(html => { 6254 const doc = new DOMParser().parseFromString(html, 'text/html'); 6255 const newSection = doc.querySelector('.mo-facts--template--23404158877917__tw_product_information_a4U4EJ'); 6256 const oldSection = document.querySelector('.mo-facts--template--23404158877917__tw_product_information_a4U4EJ'); 6257 6258 if (newSection && oldSection) { 6259 oldSection.replaceWith(newSection); 6260 } else if (!newSection && oldSection) { 6261 oldSection.remove(); 6262 } 6263 }); 6264 } 6265 6266 document.addEventListener('change', function (e) { 6267 const input = e.target; 6268 6269 if (input.closest('variant-selects')) { 6270 const variantId = document.querySelector('input[name="id"]')?.value; 6271 if (variantId) { 6272 reloadFactsSection(variantId); 6273 } 6274 } 6275 }); 6276})(); 6277</script>
6277 6278 6279 6280</section><section id="shopify-section-template--23404158877917__related-products" class="shopify-section section"><link href="//www.personalwine.com/cdn/shop/t/65/assets/section-related-products.css?v=96406900557175282381788214101" rel="stylesheet" type="text/css" media="all" />� 6281 6282 6283<div class="section-related-products section-padding section-bg overflow-hidden lg:overflow-visible " 6284 6285 6286 6287 6288 6289�style="--section-padding-top: 36px; --section-padding-bottom: 36px;"> 6290 <div class="container-fluid"> 6291 <product-recommendations 6292 class="related-products product-recommendations isolate" 6293 data-url="/recommendations/products?section_id=template--23404158877917__related-products&product_id=9236777566429&limit=10" 6294 style="--column-product:4;--column-product-mobile:2;--column-gap:2rem;--column-gap-mobile:1rem;"> 6295 6296 6297 </product-recommendations> 6298 </div> 6299</div> 6300 6301 6302 6303</section><div id="shopify-section-template--23404158877917__recently_viewed_products_FTLchU" class="shopify-section shopify-section-recently-viewed-products"> 6304<link href="//www.personalwine.com/cdn/shop/t/65/assets/section-related-products.css?v=96406900557175282381788214101" rel="stylesheet" type="text/css" media="all" /> 6305 6306 6307 6308<recently-viewed-products 6309 section-id="template--23404158877917__recently_viewed_products_FTLchU" 6310 products-limit="4" 6311 exclude-id="9236777566429" 6312></recently-viewed-products>
6312<script src="//www.personalwine.com/cdn/shop/t/65/assets/recently-viewed-products.js?v=154640333823318345531788214101" defer="defer"></script>
6312 6313 6314 6315</div><section id="shopify-section-template--23404158877917__1770623805f3b6ce22" class="shopify-section section"> 6316 6317 6318<div class="section-apps section-padding section-bg" 6319 6320 6321 6322 6323 6324�style="--section-padding-top: 24px; --section-padding-bottom: 0px;" > 6325 <div class="container-fluid "><div id="shopify-block-AckpvNDErMC81aFlmc__loox_reviews_loox_dynamic_section_PHJMVE" class="shopify-block shopify-app-block"> 6326 6327 6328 6329 6330 6331<div 6332 id="looxReviews" 6333 class="loox-widget" 6334 data-limit="10" 6335 6336 6337 6338 6339 data-product-id="9236777566429" 6340 � 6341 6342 data-reviews-to-display="product_reviews_only" 6343 data-default-tab="automatic" 6344 style="margin:0 auto;max-width:1080px;" 6345> 6346 <!-- BEGIN app snippet: loox-ssr-reviews-feed --> 6347<!-- END app snippet --> 6348</div> 6349 6350</div>�</div> 6351</div> 6352 6353 6354 6355</section><section id="shopify-section-template--23404158877917__1771419110b7909244" class="shopify-section section"> 6356 6357 6358<div class="section-apps section-padding section-bg" 6359 6360 6361 6362 6363 6364�style="--section-padding-top: 0px; --section-padding-bottom: 0px;" > 6365 <div class="container "><div id="shopify-block-AWW1qejN2TjRpclZZa__customily_product_personalizer_main_VwKefA" class="shopify-block shopify-app-block"> 6366 6367 6368
6369<script> 6370 (function () { 6371 window.customily = window.customily || {}; 6372 let customilyShopDomain = "ku1htv-4a.myshopify.com" 6373 6374 let customilyProductId = 9236777566429; 6375 let customilyProductHandle = "tafida-cabernet-sauvignon"; 6376 6377 6378 let insertPreloadLink = function (endpoint) { 6379 let baseUrl = "https:\/\/sh.customily.com"; 6380 let link = document.createElement("link"); 6381 link.rel = "preload"; 6382 link.href = `${baseUrl}/api/${endpoint}`; 6383 link.as = "fetch"; 6384 link.crossOrigin = "anonymous"; 6385 document.head.appendChild(link); 6386 } 6387 6388 insertPreloadLink(`settings/unified/${customilyProductHandle}?shop=${customilyShopDomain}&productId=${customilyProductId}`); 6389 6390 6391 6392 window.customily.shopSettings = {"debugMode":false,"enabled":true,"exportProductionFile":true,"showPreviewByDefault":false,"showPreviewVariants":true,"useModal":false,"useLivePreview":true,"enablePersonalizeButton":false,"personalizeButtonText":"Personalize","previewButtonText":"Preview","showLivePreviewPreviewButton":false,"previewButtonNeedsRequired":false,"mobileControls":true,"keepEngraverControlsSize":false,"realtimeRender":true,"requiredMessageText":"Required","requiredMessageTextColor":"rgba(255,0,0,1)","shareButtonText":"Share Customization","shareButtonCssClass":"","enableSharePersonalization":false,"enableSavePersonalization":true,"enableEditPersonalization":false,"enableStoredPersonalization":false,"promptStoredPersonalization":false,"uploadedImageCovers":false,"showPreviewButtonMobile":false,"previewButtonMobileText":"Show Preview","accordionOptions":false,"optionsPosition":{"positioning":0,"selector":""},"builtInGallery":{"desktop":{"enabled":false,"thumbnailsLayout":"bottom","allowSwiping":false},"mobile":{"enabled":false,"thumbnailsLayout":"bottom","allowSwiping":false}},"optionsBackgroundColor":"rgba(252,250,248,1)","buttonsLayout":{"desktop":{"custom":false,"layout":"q_p_c"},"mobile":{"custom":false,"layout":"q_p_c"}},"buttonsStyles":{"addToCart":{"customize":false,"styles":{"backgroundColor":"rgba(255,255,255,1)","borderColor":"rgba(72,172,231,1)","borderRadius":"8","borderWidth":"5","fontColor":"rgba(0,0,0,1)","fontSize":"16"}},"personalize":{"customize":false,"styles":{"backgroundColor":"rgba(255,255,255,1)","borderColor":"rgba(72,172,231,1)","borderRadius":"8","borderWidth":"5","fontColor":"rgba(0,0,0,1)","fontSize":"16"}},"preview":{"customize":false,"styles":{"backgroundColor":"rgba(255,255,255,1)","borderColor":"rgba(72,172,231,1)","borderRadius":"8","borderWidth":"5","fontColor":"rgba(0,0,0,1)","fontSize":"16"}},"share":{"customize":false,"styles":{"backgroundColor":"rgba(255,255,255,1)","borderColor":"rgba(72,172,231,1)","borderRadius":"8","borderWidth":"5","fontColor":"rgba(0,0,0,1)","fontSize":"16"}},"upload":{"customize":false,"showThumbnails":true,"styles":{"backgroundColor":"rgba(255,255,255,1)","borderColor":"rgba(72,172,231,1)","borderRadius":"8","borderWidth":"5","fontColor":"rgba(0,0,0,1)","fontSize":"16"}},"replace":{"replaceBtnText":""},"mobileCustomizerNav":{"customize":false,"previousBtnText":"","nextBtnText":""}},"upSellStyles":{"title":{"fontColor":"rgba(0,0,0,1)","fontSize":"16"},"product":{"fontColor":"rgba(0,0,0,1)","fontSize":"16"}},"hoverZoom":false,"sideHoverZoom":false,"touchZoom":false,"zoomBtnText":"","swatches":{"squared":true,"color":"rgba(0,0,0,1)","size":"medium","sizePx":0,"noWrap":false,"allowDeletingFromMultiselectOption":false},"dropdown":{"enableSearch":false,"squared":true,"size":"medium","sizePx":32,"color":"rgba(114,88,224,1)"},"dropdownSwatch":{"squared":true,"size":"medium","sizePx":32,"color":"rgba(114,88,224,1)"},"customCss":".cl-canvas-container {\n background: white;\n}","customJs":"window.customilyShopify = {\n buttons: {\n dontRemoveOriginalButton: true\n }\n}\n\nwindow.addEventListener('customily-options-loaded', function(){\n $('.splide__track--ttb').on('click', function(){\n $('.cl-canvas-container').hide();\n });\n $('.product-form__quantity').insertBefore($('#customily-options'))\n})\n\nwindow.addEventListener(\"customily-live-preview-shown\", () => {\n $('.cl-canvas-container').show()\n $('.cl-canvas-container').insertBefore($('.splide__gallery').children().first())\n $(\".splide__slide-first.is-active\")[0]?.style.setProperty(\"max-height\", `${$(\".cl-canvas-container\").height()}px`, \"important\");\n})\n\n// Hide Canvas\n$(document).on('change', '.variant-picker input[type=\"radio\"]', function () {\n if ($(this).val() === 'None') {\n setTimeout(() => $('.cl-canvas-container').hide(), 300);\n }\n});\n\n\nwindow.customily = window.customily || {};\nwindow.customily = {\n ...window.customily,\n featureFlags: {\n \"initialImageUrl-optimized\":true,\n }\n}\n\nwindow.addEventListener('customily-product-loaded', function() {\
6392n \n // 1. Get the value of the currently checked radio button\n const selectedValue = $('.variant-picker input[type=\"radio\"]:checked').val();\n\n // 2. Check if the value is 'None' on load\n if (selectedValue === 'None') {\n // alert('Notice: The selected option is \"None\". Hiding canvas.');\n \n // We use a small timeout to ensure the canvas is fully rendered \n // before we tell it to hide\n setTimeout(() => {\n $('.cl-canvas-container').hide();\n }, 300);\n }\n\n function createCustomEvent(name, detail) {\n try {\n return new CustomEvent(name, { bubbles: true, detail });\n } catch (e) {\n const ev = document.createEvent(\"CustomEvent\");\n ev.initCustomEvent(name, true, false, detail);\n return ev;\n }\n }\n\n function dispatchCartEvent(source) {\n console.log(\"Dispatching customily-trigger-cart-handler event from:\", source);\n const evt = createCustomEvent(\"customily-trigger-cart-handler\", { source });\n document.dispatchEvent(evt);\n }\n\n // Simple debounce to group rapid mutations\n let pendingCartEvent = null;\n function scheduleCartEvent(source, delay = 50) {\n pendingCartEvent = pendingCartEvent || {};\n pendingCartEvent.source = source;\n if (pendingCartEvent.timer) clearTimeout(pendingCartEvent.timer);\n pendingCartEvent.timer = setTimeout(() => {\n dispatchCartEvent(pendingCartEvent.source || source);\n pendingCartEvent = null;\n }, delay);\n }\n\n // 1) Click on the cart icon\n const cartLink = document.getElementById(\"cart-icon-bubble\");\n if (cartLink) {\n cartLink.addEventListener(\"click\", function () {\n console.log(\"Cart icon click detected\");\n scheduleCartEvent(\"cart-icon-bubble\");\n });\n } else {\n console.log(\"Element with id 'cart-icon-bubble' not found\");\n }\n\n // 2) Delegated clicks for remove buttons and quantity containers\n document.addEventListener(\"click\", function (event) {\n const removeBtn = event.target.closest(\".cart-remove-button\");\n if (removeBtn) {\n console.log(\"Click on cart-remove-button detected\");\n scheduleCartEvent(\"cart-remove-button\");\n return;\n }\n\n const qtyContainer = event.target.closest(\".quantity-popover-container\");\n if (qtyContainer) {\n console.log(\"Click on quantity-popover-container detected\");\n scheduleCartEvent(\"quantity-popover-container\");\n return;\n }\n });\n\n // 3) Observer for the cart drawer (when it gains the \"active\" class)\n const cartDrawer = document.getElementById(\"cart-drawer\") || document.querySelector(\".cart-drawer\");\n if (cartDrawer) {\n let lastHadActive = cartDrawer.classList.contains(\"active\");\n const mo = new MutationObserver(function (mutations) {\n for (const m of mutations) {\n if (m.type === \"attributes\" && m.attributeName === \"class\") {\n const hasActive = cartDrawer.classList.contains(\"active\");\n if (hasActive && !lastHadActive) {\n console.log(\"Cart drawer opened (active class added)\");\n scheduleCartEvent(\"cart-drawer-opened\");\n }\n lastHadActive = hasActive;\n }\n }\n });\n mo.observe(cartDrawer, { attributes: true, attributeFilter: [\"class\"] });\n } else {\n console.log(\"'cart-drawer' element not found to observe class changes\");\n }\n\n // 4) Observer for changes in `div.cart-item` (added, removed, or internal mutations)\n const cartItemsContainer = document.querySelector(\".cart-items, #cart-items, .cart-list, .cart-drawer\") || document.body;\n if (cartItemsContainer) {\n const itemObserver = new MutationObserver(function (mutations) {\n for (const m of mutations) {\n // If nodes are added or removed, check if they contain .cart-item\n if (m.addedNodes && m.addedNodes.length) {\n for (const node of m.addedNodes) {\n if (node.nodeType === 1 && (node.classList.contains(\"cart-item\") || node.querySelector && node.querySelector(\".cart-item\"))) {\n console.log(\"A div.cart-item was added/updated\");\n scheduleCartEvent(\"cart-item-changed\");\n return;\n }\n }\n }\n if (m.removedNodes && m.removedNodes.length) {\n for (const node of m.removedNodes
6392) {\n if (node.nodeType === 1 && (node.classList.contains(\"cart-item\") || node.querySelector && node.querySelector(\".cart-item\"))) {\n console.log(\"A div.cart-item was removed\");\n scheduleCartEvent(\"cart-item-changed\");\n return;\n }\n }\n }\n }\n });\n\n itemObserver.observe(cartItemsContainer, { childList: true, subtree: true, attributes: true, characterData: false });\n } else {\n console.log(\"Items container not found; will not observe div.cart-item changes\");\n }\n});","removeEventsFromProductForm":false,"optionalPersonalization":{"enable":false,"backgroundColor":"#edefee","dividerColor":"#cccccc","titleText":"Edit Personalization","removeText":"Remove","showPersonalizeButtonOnProductCards":false},"stickyPreview":false,"stickyPreviewMobile":false,"stickyPreviewButtonMobile":false,"addToCartIntoPreviewModal":false,"useShadowRoot":false,"reflectShadowRootOnVariant":false,"modalScrollbar":true,"generatePreviewImage":true,"addOrderNotes":true,"customCurrency":"","priceQuerySelector":"","salePriceQuerySelector":"","querySelectors":{"quantityElement":"","price":{"regular":"","sale":""},"cart":{"popup":{"element":"#CartDrawer-Form","properties":".product-option"},"page":{"element":"#cart","properties":".product-option"}}},"renameProdFilePattern":"ordernumber_itemindex_sku","addRenamedProdFileAdditionalNotes":false,"enableEngraverLogs":false,"dontCreateNewSessions":false,"uploadUserImagesToShopify":false,"allowMobileTouchEvents":true,"showMobileControls":true,"removeSwatchesBorder":true,"preventEdgeResizing":false,"useThemeScripts":true,"upsell":{"enabled":true,"interceptClicks":true,"scaleAddonsWithMainProduct":true},"tooltipType":"value","cartItems":{"personalizationLink":false,"previewModal":true,"personalizedThumbnail":true,"showSuggestions":false,"groupAddOns":true,"hideDeleteButtonOnAddOns":true,"hideQuantityButtonsOnAddOns":true,"hideLineItemProperties":false,"texts":{"editLink":"","previewLink":""},"loadWhenCartOpen":false},"uploadImage":{"zoomSelection":true,"disableZoomOnImageUpload":false,"imageOverlaySelection":false,"canvasImageLoading":true,"cropBtnText":"Crop","doneCropeBtnText":"Done","crop":{"customize":false,"styles":{}},"done":{"customize":false,"styles":{}}},"addToCart":{"useAjax":false,"triggerStoreButtonClick":true,"reloadPageAfterAtc":false,"openCartDrawerAfterAtc":false,"cartDrawerQuerySelector":"","urlToRedirectAfterAtc":"","eventsToDispatchBeforeAtc":"","eventsToDispatchAfterAtc":"","storeCartData":false,"loadCartDrawerInnerHtml":false},"mobileUseModal":false,"mobileUseLivePreview":true,"enableCollapsibleOptionsMenu":false,"showAddToCartButtonAlwaysPresent":true,"zoomBtnType":"textButton","dividerStyles":{"textAlign":"center","fontColor":"#000000","fontSize":16,"lineColor":"#000000","lineWidth":2,"lineBorderRadius":false,"padding":10},"modalMobilePreview":{"labelOption":"Option","labelOf":"of","textColor":"#000000"},"section":{"titleColor":"rgba(0,0,0,1)","backgroundColor":"rgba(255,255,255,1)","fontSize":20,"borderRadius":4,"accordionEnabled":false,"accordionStyles":{"color":"rgba(255,255,255,1)","size":24},"navigationButtonsEnabled":false},"multipleImageUploader":{"shape":"rounded","selectionColor":"rgba(114,88,224,1)","iconsColor":"rgba(114,88,224,1)","desktopSize":"medium","desktopSizePx":0,"mobileSize":"medium","mobileSizePx":0},"showPriceInAddToCartButton":false,"addToCartBtnText":"","renameProdFile":true,"enableSwipeInMobileModalSections":true,"textSwatches":{"customize":false,"background":{"color":"#F8F2F6","selectionColor":"#F66C95"},"label":{"color":"#F66C95","selectionColor":"#F8F2F6","fontSize":16}
6392,"stroke":{"color":"#7258E0","selectionColor":"#88C3D1","width":2,"radius":10},"padding":{"topBottom":10,"leftRight":10}},"progressBar":{"enabled":false,"fillColor":"#ffffff","bgColor":"#000000","roundedEndsEnabled":true},"useFutureExport":true}; 6393 6394 var shopifyScriptUploadedToShopify = "https://cdn.shopify.com/extensions/01a0d9e5-27b1-7641-8a80-2cbf25425622/customily-options-3-443/assets/customily.shopify.script.js"; 6395 var shopifyScriptFallbackCdn = 'https://cdn.customily.com/shopify/static/customily.shopify.script.js'; 6396 6397 var engraverScriptUploadedToShopify = "https://cdn.shopify.com/extensions/01a0d9e5-27b1-7641-8a80-2cbf25425622/customily-options-3-443/assets/customily.js"; 6398 window.customily.internal = { 6399 shopifyCdnEngraverUrl: engraverScriptUploadedToShopify, 6400 }; 6401 6402 var scriptTag = document.createElement('script'); 6403 scriptTag.src = shopifyScriptUploadedToShopify; 6404 scriptTag.async = true; 6405 6406 scriptTag.onerror = function () { 6407 console.warn('Customily script missing, loading CDN fallbackâ¦'); 6408 var fallbackScriptTag = document.createElement('script'); 6409 fallbackScriptTag.src = shopifyScriptFallbackCdn; 6410 fallbackScriptTag.async = true; 6411 document.head.appendChild(fallbackScriptTag); 6412 }; 6413 6414 document.head.appendChild(scriptTag); 6415 })(); 6416</script>
6416 6417 6418<!-- BEGIN app snippet: customily-disable-atc --> 6419 6420 6421 6422<!-- END app snippet --> 6423 6424 6425</div>�</div> 6426</div> 6427 6428 6429 6430</section> 6431 </main><!-- BEGIN sections: footer-group --> 6432<div id="shopify-section-sections--23404149637341__footer" class="shopify-section shopify-section-group-footer-group"> 6433<link href="//www.personalwine.com/cdn/shop/t/65/assets/section-footer.css?v=95280274362895117851788214101" rel="stylesheet" type="text/css" media="all" /> 6434<link href="//www.personalwine.com/cdn/shop/t/65/assets/component-list-menu.css?v=117125131853757801771788214101" rel="stylesheet" type="text/css" media="all" /> 6435<link href="//www.personalwine.com/cdn/shop/t/65/assets/component-list-payment.css?v=48201664377276737591788214101" rel="stylesheet" type="text/css" media="all" /> 6436<link href="//www.personalwine.com/cdn/shop/t/65/assets/component-list-social.css?v=106970996664541624141788214101" rel="stylesheet" type="text/css" media="all" /> 6437 6438<style> 6439.footer-logo img{ 6440 width:180px; 6441} 6442.template-index .tw-footer.footer__section { 6443 margin-top: -66px; 6444} 6445.template-index .tw-footer.footer__section { 6446background-color:transparent; 6447} 6448.collection-tw-footer{ 6449 background-color: rgb(252 250 248) !important; 6450} 6451.template-page-luxury-corporate-gifts .tw-footer, .template-page-champagne-gifts .tw-footer, .template-page-photo-engraved-wine-box .tw-footer, .template-page-real-estate-gifts .tw-footer, .template-page-weddings .tw-footer{ 6452 background-color: rgb(241 235 227) !important; 6453} 6454 6455.tw-footer.footer__section { 6456 background: url(//www.personalwine.com/cdn/shop/files/Frame_286_2_copy2_1_copy3.png?v=1773040556) center/cover no-repeat; 6457 6458} 6459 6460 6461@media screen and (min-width: 768px) { 6462.tw-footer .footer__content-top .footer__blocks-wrapper { 6463 gap:40px; 6464} 6465} 6466</style><footer class="tw-footer footer footer__section footer__section--none "> 6467 6468 6469<div class="footer__padding" style="--section-padding-top: 136px;--section-padding-bottom: 40px;" > 6470 6471 <div class="footer-logo text-center mb-16"> 6472 <img src="//www.personalwine.com/cdn/shop/files/Frame_106_5.png?v=1763011766" alt="Personal Wine"> 6473 </div> 6474 6475 <div class="footer__content-top lg:pb-16 pb-16 container"><div class="footer__blocks-wrapper flex md:flex-row flex-col " ><div class="footer-block footer-block--menu " ><collapsible-details> 6476 <details data-responsive="true"> 6477 <summary id="Summary-link_list_7nmBjj-sections--23404149637341__footer"> 6478 <div class="summary__title"><div class="footer-block__heading h5">Personalization</div></div> 6479 <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> 6480 <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> 6481</svg> 6482 6483 </summary> 6484 <div class="collapsible__content" role="region" aria-labelledby="Summary-link_list_7nmBjj-sections--23404149637341__footer"> 6485 <div class="collapsible__content-inner footer-block__details-content "><ul class="pl-0 list-unstyled flex flex-col gap-y-5"> 6486 <li class="""> 6487 <a href="/collections/shop" 6488 class="link no-underline 6489 6490 "> 6491 6492 All Products 6493 6494 </a> 6495 </li> 6496 � 6497 <li class="""> 6498 <a href="/collections/wine" 6499 class="link no-underline 6500 6501 "> 6502 6503 Wine 6504 6505 </a> 6506 </li> 6507 � 6508 <li class="""> 6509 <a href="/collections/liquor" 6510 class="link no-underline 6511 6512 "> 6513 6514 Liquor 6515 6516 </a> 6517 </li> 6518 � 6519 <li class="""> 6520 <a href="/collections/accessories" 6521 class="link no-underline 6522 6523 "> 6524 6525 Accessories 6526 6527 </a> 6528 </li> 6529 � 6530 <li class="""> 6531 <a href="/collections/occasions" 6532 class="link no-underline 6533 6534 "> 6535 6536 Occasions 6537 6538 </a> 6539 </li> 6540 � 6541 <li class="""> 6542 <a href="/pages/wine-gifts" 6543 class="link no-underline 6544 6545 "> 6546 6547 Wine Gifts 6548 6549 </a> 6550 </li> 6551 �</ul></div> 6552 </div> 6553 </details> 6554 </collapsible-details></div><div class="footer-block footer-block--menu " ><collapsible-details> 6555 <details data-responsive="true"> 6556 <summary id="Summary-link_list_Nx4gLF-sections--23404149637341__footer"> 6557 <div class="summary__title"><div class="footer-block__heading h5">About Us</div></div> 6558 <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> 6559 <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> 6560</svg> 6561 6562 </summary> 6563 <div class="collapsible__content" role="region" aria-labelledby="Summary-link_list_Nx4gLF-sections--23404149637341__footer"> 6564 <div class="collapsible__content-inner footer-block__details-content "><ul class="pl-0 list-unstyled flex flex-col gap-y-5"> 6565 <li class="""> 6566 <a href="/pages/about" 6567 class="link no-underline 6568 6569 "> 6570 6571 Our Story 6572 6573 </a> 6574 </li> 6575 � 6576 <li class="""> 6577 <a href="/blogs/personal-wine-blog" 6578 class="link no-underline 6579 6580 "> 6581 6582 Blog 6583 6584 </a> 6585 </li> 6586 � 6587 <li class="""> 6588 <a href="/blogs/press" 6589 class="link no-underline 6590 6591 "> 6592 6593 Press 6594 6595 </a> 6596 </li> 6597 � 6598 <li class="""> 6599 <a href="/pages/gallery" 6600 class="link no-underline 6601 6602 "> 6603 6604 Photo Gallery 6605 6606 </a> 6607 </li> 6608 �</ul></div> 6609 </div> 6610 </details> 6611 </collapsible-details></div><div class="footer-block footer-block--menu " ><collapsible-details> 6612 <details data-responsive="true"> 6613 <summary id="Summary-link_list_nKPrWE-sections--23404149637341__footer"> 6614 <div class="summary__title"><div class="footer-block__heading h5">Resources</div></div> 6615 <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> 6616 <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> 6617</svg> 6618 6619 </summary> 6620 <div class="collapsible__content" role="region" aria-labelledby="Summary-link_list_nKPrWE-sections--23404149637341__footer"> 6621 <div class="collapsible__content-inner footer-block__details-content "><ul class="pl-0 list-unstyled flex flex-col gap-y-5"> 6622 <li class="""> 6623 <a href="/collections" 6624 class="link no-underline 6625 6626 "> 6627 6628 All Collections 6629 6630 </a> 6631 </li> 6632 � 6633 <li class="""> 6634 <a href="/pages/coupons" 6635 class="link no-underline 6636 6637 "> 6638 6639 Promotions & Coupons 6640 6641 </a> 6642 </li> 6643 � 6644 <li class="""> 6645 <a href="https://estatewinebrokers.com" 6646 class="link no-underline 6647 6648 "> 6649 6650 Estate Wine Brokers 6651 6652 </a> 6653 </li> 6654 � 6655 <li> 6656 <a href="#0" class="link no-underline " onclick="iconInstance.toggleWidget()"> 6657 Accessibility Options 6658 </a> 6659 </li> 6660 � 6661 <li class="""> 6662 <a href="https://www.personalwine.com/pages/faq" 6663 class="link no-underline 6664 6665 "> 6666 6667 FAQ 6668 6669 </a> 6670 </li> 6671 �</ul></div> 6672 </div> 6673 </details> 6674 </collapsible-details></div><div class="footer-block footer-block--menu " ><collapsible-details> 6675 <details data-responsive="true"> 6676 <summary id="Summary-link_list_r8KXQ4-sections--23404149637341__footer"> 6677 <div class="summary__title"><div class="footer-block__heading h5">Need Help?</div></div> 6678 <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> 6679 <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> 6680</svg> 6681 6682 </summary> 6683 <div class="collapsible__content" role="region" aria-labelledby="Summary-link_list_r8KXQ4-sections--23404149637341__footer"> 6684 <div class="collapsible__content-inner footer-block__details-content "><ul class="pl-0 list-unstyled flex flex-col gap-y-5"> 6685 <li class="""> 6686 <a href="/pages/contact" 6687 class="link no-underline 6688 6689 "> 6690 6691 Contact Us 6692 6693 </a> 6694 </li> 6695 � 6696 <li class="""> 6697 <a href="/pages/returns-refunds" 6698 class="link no-underline 6699 6700 "> 6701 6702 Shipping & Returns 6703 6704 </a> 6705 </li> 6706 � 6707 <li class="""> 6708 <a href="/pages/when-will-i-receive-my-order" 6709 class="link no-underline 6710 6711 "> 6712 6713 Order Delivery Times 6714 6715 </a> 6716 </li> 6717 � 6718 <li class="""> 6719 <a href="mailto:[email protected]" 6720 class="link no-underline 6721 6722 contact-link"> 6723 6724 Email: [email protected] 6725 6726 </a> 6727 </li> 6728 � 6729 <li class=" cstm-contact-list""> 6730 <a href="tel:+15129752634" 6731 class="link no-underline 6732 6733 contact-link"> 6734 6735
6735 Phone no. (512) 975-2634 6736 6737 </a> 6738 </li> 6739 �</ul></div> 6740 </div> 6741 </details> 6742 </collapsible-details> 6743 6744<ul class="list-unstyled list-social footer__list-social -ms-3 !pl-0" role="list"><li class="list-social__item"> 6745 <a href="https://www.facebook.com/personalwine" class="link list-social__link"><svg aria-hidden="true" focusable="false" class="icon icon-facebook" viewBox="0 0 20 20"> 6746 <path fill="currentColor" 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"/> 6747</svg> 6748<span class="visually-hidden">Facebook</span> 6749 </a> 6750 </li><li class="list-social__item"> 6751 <a href="https://www.instagram.com/personalwine" class="link list-social__link"><svg aria-hidden="true" focusable="false" class="icon icon-instagram" viewBox="0 0 20 20"> 6752 <path fill="currentColor" fill-rule="evenodd" 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" clip-rule="evenodd"/> 6753</svg> 6754<span class="visually-hidden">Instagram</span> 6755 </a> 6756 </li><li class="list-social__item"> 6757 <a href="https://x.com/personalwine" class="link list-social__link"><svg aria-hidden="true" focusable="false" class="icon icon-twitter" viewBox="0 0 20 20"> 6758 <path fill-rule="evenodd" clip-rule="evenodd" d="M7.27274 2.8L10.8009 7.82176L15.2183 2.8H16.986L11.5861 8.93887L17.3849 17.1928H12.7272L8.99645 11.8828L4.32555 17.1928H2.55769L8.21157 10.7657L2.61506 2.8H7.27274ZM13.5151 15.9248L5.06895 4.10931H6.4743L14.9204 15.9248H13.5151Z" fill="currentColor"/> 6759</svg> 6760<span class="visually-hidden">X (Twitter)</span> 6761 </a> 6762 </li><li class="list-social__item"> 6763 <a href="https://in.pinterest.com/personalwine" class="link list-social__link"><svg aria-hidden="true" focusable="false" class="icon icon-pinterest" viewBox="0 0 20 20"> 6764 <path fill="currentColor" d="M10 2.01c2.124.01 4.16.855 5.666 2.353a8.087 8.087 0 0 1 1.277 9.68A7.952 7.952 0 0 1 10 18.04a8.164 8.164 0 0 1-2.276-.307c.403-.653.672-1.24.816-1.729l.567-2.2c.134.27.393.5.768.702.384.192.768.297 1.19.297.836 0 1.585-.24 2.248-.72a4.678 4.678 0 0 0 1.537-1.969c.37-.89.554-1.848.537-2.813 0-1.249-.48-2.315-1.43-3.227a5.061 5.061 0 0 0-3.65-1.374c-.893 0-1.729.154-2.478.461a5.023 5.023 0 0 0-3.236 4.552c0 .72.134 1.355.413 1.902.269.538.672.922 1.22 1.152.096.039.182.039.25 0 .066-.028.114-.096.143-.192l.173-.653c.048-.144.02-.288-.105-.432a2.257 2.257 0 0 1-.548-1.565 3.803 3.803 0 0 1 3.976-3.861c1.047 0 1.863.288 2.44.855.585.576.883 1.315.883 2.228 0 .768-.106 1.479-.317 2.122a3.813 3.8
676413 0 0 1-.893 1.556c-.384.384-.836.576-1.345.576-.413 0-.749-.144-1.018-.451-.259-.307-.345-.672-.25-1.085.147-.514.298-1.026.452-1.537l.173-.701c.057-.25.086-.451.086-.624 0-.346-.096-.634-.269-.855-.192-.22-.451-.336-.797-.336-.432 0-.797.192-1.085.595-.288.394-.442.893-.442 1.499.005.374.063.746.173 1.104l.058.144c-.576 2.478-.913 3.938-1.037 4.36-.116.528-.154 1.153-.125 1.863A8.067 8.067 0 0 1 2 10.03c0-2.208.778-4.11 2.343-5.666A7.721 7.721 0 0 1 10 2.001v.01Z"/> 6765</svg> 6766<span class="visually-hidden">Pinterest</span> 6767 </a> 6768 </li></ul> 6769</div></div></div> 6770 <div class="footer__content-bottom "> 6771 � 6772 6773 6774<div class="container"> 6775 <div class="footer__content-bottom-wrapper md:flex-row flex-col gap-x-8 gap-y-6 md:items-center text-center pb-8"> 6776 <div class="footer__column footer__column--info flex justify-center"></div> 6777 6778 <div class="flex-1 flex flex-col gap-y-4 order-last lg:order-none"> 6779 <div class="footer__column footer__localization flex"></div> 6780 <div class="footer__copyright"> 6781 <p class="copyright__content text-size-small"> 6782 © <a href="/" title="">Personal Wine</a> . 2026 All right reserved · 6600 Metropolis Drive · Austin, TX 78744 6783 </p> 6784 </div> 6785 </div> 6786 6787 </div> 6788 </div> 6789 </div> 6790 </div> 6791</footer> 6792 6793 6794</div> 6795<!-- END sections: footer-group --><!-- BEGIN sections: overlay-group --> 6796 6797<!-- END sections: overlay-group --><ul hidden> 6798 <li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh.</li> 6799 <li id="a11y-new-window-message">Opens in a new window.</li> 6800 </ul> 6801 6802
6802<script> 6803 window.theme = window.theme || {}; 6804 theme = { 6805 settings: { 6806 money_with_currency_format:"${{amount}}", 6807 }, 6808 routes: { 6809 root_url: '/', 6810 } 6811 } 6812 window.shopUrl = 'https://www.personalwine.com'; 6813 window.routes = { 6814 cart_add_url: '/cart/add', 6815 cart_change_url: '/cart/change', 6816 cart_update_url: '/cart/update', 6817 cart_url: '/cart', 6818 predictive_search_url: '/search/suggest', 6819 }; 6820 6821 window.cartStrings = { 6822 error: `There was an error while updating your cart. Please try again.`, 6823 quantityError: `You can only add [quantity] of this item to your cart.`, 6824 termsCheckboxNotify: `You must agree with the terms and conditions to check out`, 6825 }; 6826 6827 window.variantStrings = { 6828 addToCart: `Add to cart`, 6829 soldOut: `Sold out`, 6830 unavailable: `Unavailable`, 6831 unavailable_with_option: `[value] - Unavailable`, 6832 preOrder: `Pre-order` 6833 }; 6834 6835 window.quickOrderListStrings = { 6836 itemsAdded: `[quantity] items added`, 6837 itemAdded: `[quantity] item added`, 6838 itemsRemoved: `[quantity] items removed`, 6839 itemRemoved: `[quantity] item removed`, 6840 viewCart: `View cart`, 6841 each: `[money]/ea`, 6842 min_error: `This item has a minimum of [min]`, 6843 max_error: `This item has a maximum of [max]`, 6844 step_error: `You can only add this item in increments of [step]`, 6845 }; 6846 6847 window.accessibilityStrings = { 6848 imageAvailable: `Image [index] is now available in gallery view`, 6849 shareSuccess: `Copied`, 6850 pauseSlideshow: `Pause slideshow`, 6851 playSlideshow: `Play slideshow`, 6852 recipientFormExpanded: `Gift card recipient form expanded`, 6853 recipientFormCollapsed: `Gift card recipient form collapsed`, 6854 countrySelectorSearchCount: `[count] countries/regions found`, 6855 }; 6856 window.newsletterFormStrings = { 6857 error: `Please enter a valid email address.`, 6858 }; 6859</script>
6859 6860 6861 6862<link href="//www.personalwine.com/cdn/shop/t/65/assets/quick-view.css?v=106233739722014589391788214101" rel="stylesheet" type="text/css" media="all" /> 6863<div class="product-quick-view-container"> 6864 <div class="product-quick-view__overlay" data-quick-view-close></div> 6865 <div 6866 id="product-quick-view" 6867 class="modal product-quick-view isolate" 6868 role="dialog" 6869 aria-modal="true" 6870 aria-label="Product quick view" 6871 > 6872 <div class="product-quick-view__content scroll-container"> 6873 <button 6874 class="product-quick-view__close close-modal" 6875 tabindex="0" 6876 aria-label="Close" 6877 data-quick-view-close 6878 > 6879 6880<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="var(--icon-stroke-width)" stroke="currentColor" class=" icon icon-close size-10"> 6881 <path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" /> 6882</svg> 6883 6884 6885 </button> 6886 <div 6887 id="product-quick-view__product-content" 6888 class="product-quick-view__product-content" 6889 data-quick-view-inject-target 6890 > 6891 </div> 6892 </div> 6893 </div> 6894</div> 6895 6896 <style> 6897 .scroll-to-top { 6898 position: fixed; 6899 bottom: 20px; 6900 inset-inline-end: 20px; 6901 display: none; 6902 z-index: 99; 6903 } 6904 .scroll-to-top.is-visible { 6905 display: block; 6906 } 6907 .scroll-to-top__button { 6908 --size:38px; 6909 6910 background: linear-gradient(90deg, #bd9350, #fbe7b5, #c9a25d); 6911 color: color:rgb(var(--color-foreground)); 6912 border: none; 6913 display: flex; 6914 border-radius: 50%; 6915 width: var(--size); 6916 height: var(--size); 6917 justify-content: center; 6918 align-items: center; 6919 cursor: pointer; 6920 transition: opacity 0.3s ease; 6921 box-shadow: var(--shadow-sm); 6922 } 6923</style> 6924<scroll-to-top class="scroll-to-top"> 6925 <button type="button" class="scroll-to-top__button"> 6926 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="size-6"> 6927 <path stroke-linecap="round" stroke-linejoin="round" d="M4.5 10.5 12 3m0 0 7.5 7.5M12 3v18" /> 6928 </svg> 6929 <span class="sr-only">Scroll to top</span> 6930 </button> 6931</scroll-to-top>
6932<script src="//www.personalwine.com/cdn/shop/t/65/assets/scroll-to-top.js?v=102425545879527639691788214101" defer="defer"></script>
6932 6933 �
6933<script src="//www.personalwine.com/cdn/shop/t/65/assets/predictive-search.js?v=77974614502599064901788214101" defer="defer"></script>
6933<script src="//www.personalwine.com/cdn/shop/t/65/assets/cart-drawer.js?v=163764557337073887021788214101" defer="defer"></script>
6933<script>window.pwNativeFetch = window.fetch;</script>
6933 6934
6934<script src="//www.personalwine.com/cdn/shop/t/65/assets/customily-edit-cart.js?v=26950516947962014451788472548" defer="defer"></script>
6934 6935 �
6935<script src="//www.personalwine.com/cdn/shop/t/65/assets/cart-discount.js?v=124152053630583417991788214101" defer="defer"></script>
6935<script src="//www.personalwine.com/cdn/shop/t/65/assets/modal-drawer.js?v=128290900402504623781788214101" defer="defer"></script>
6935<script src="//www.personalwine.com/cdn/shop/t/65/assets/page-transition.js?v=122272779015516919971788214101" defer="defer"></script>
6935<script src="//instant.page/5.2.0" type="module" integrity="sha384-jnZyxPjiipYXnSU0ygqeac2q7CVYMbh84q0uHVRRxEtvFPiQYbXWUorga2aqZJ0z"></script>
6935 6936 6937 6938 6939 6940
6940<script> 6941 function processOptions(elements, index = 0) { 6942 if (index >= elements.length) return; 6943 6944 const option = elements[index]; 6945 6946 if (!option.dataset.fdProcessed) { 6947 const label = option.querySelector('.cs_FD_options_info label'); 6948 const priceEl = option.querySelector('.cs_FD_regular_price'); 6949 6950 if (label && priceEl) { 6951 const text = label.textContent.trim(); 6952 const parts = text.split('Save'); 6953 6954 if (parts.length > 1) { 6955 const qtyText = parts[0].trim(); // "5+" 6956 const saveValue = parts[1].trim(); // "5%" 6957 const qty = parseInt(option.dataset.qty, 10) || parseInt(qtyText.replace('+', ''), 10); 6958 const regularPrice = parseFloat(priceEl.textContent.replace(/[^0-9.]/g, '')); 6959 const perUnitPrice = qty && regularPrice >= 0 ? (regularPrice / qty).toFixed(2) : null; 6960 6961 label.textContent = qtyText; 6962 6963 option.dataset.save = saveValue; 6964 option.dataset.unitPrice = perUnitPrice; 6965 option.dataset.fdProcessed = 'true'; 6966 6967 const saveSpan = document.createElement('span'); 6968 saveSpan.className = 'cs_FD_save_value'; 6969 saveSpan.textContent = `Save ${saveValue}`; 6970 option.appendChild(saveSpan); 6971 6972 //show per-unit price 6973 priceEl.textContent = `$${perUnitPrice}`; 6974 } 6975 } 6976 } 6977 6978 processOptions(elements, index + 1); 6979 } 6980 6981 function FAD_callback() {// var currentPrice = $('.product__info-container .price .price__regular span.price-item.price-item--regular').text(); 6982 var currentPrice = document.querySelector('.product__info-container .price .price__regular span.price-item.price-item--regular') ?.textContent || ''; 6983 var qty1Content = ` 6984 <div class="cs_FD_options FDselected" data-qty="1"> 6985 <div class="cs_FD_options_info"> 6986 <div class="cs_FD_radio"> 6987 <input type="radio" name="options" value="" id="47382894444765"> 6988 </div> 6989 <label for="47382894444765">1+</label> 6990 </div> 6991 <div class="cs_FD_options_price"> 6992 <span class="cs_FD_regular_price">${currentPrice}</span> 6993 </div> 6994 <span class="cs_FD_save_value">No discount</span> 6995 </div> 6996 `; 6997 document.querySelectorAll('.cs_FD_list').forEach(function (list) { 6998 list.insertAdjacentHTML('afterbegin', qty1Content); 6999 }); 7000 7001 // This JS for Append HTML in another sections 7002 var getOfferHtml = document.querySelector('.product__info-container .cs_FD_display')?.innerHTML || ''; 7003 document.querySelectorAll('.bulk_discount').forEach(function (el) { 7004 el.innerHTML = '<div class="cs_FD_display">' + getOfferHtml + '</div>'; 7005 }); 7006 7007 7008 // This JS for radio change 7009 document.body.addEventListener('click', function (event) { 7010 const clickedOption = event.target.closest('.cs_FD_options'); 7011 if (!clickedOption) return; 7012 const qty = clickedOption.getAttribute('data-qty'); 7013 if (!qty) return; 7014 window.scrollTo({ top: 122, behavior: 'smooth' }); 7015 document.querySelectorAll('.cs_FD_options.FDselected1').forEach(el => { 7016 el.classList.remove('FDselected1'); 7017 }); 7018 document.querySelectorAll(`.cs_FD_options[data-qty="${qty}"]`).forEach(el => { 7019 el.classList.add('FDselected1'); 7020 const radio = el.querySelector('input[type="radio"]'); 7021 if (radio) radio.checked = true; 7022 }); 7023 }); 7024 7025 // Customizations offers 7026 const options = document.querySelectorAll('.cs_FD_options'); 7027 if (options.length) { 7028 processOptions(options); 7029 } 7030 7031 7032 // Set the FDselected fixed on varaint change 7033 var selectedQty = $("input[name='quantity']").val(); 7034 document.querySelectorAll('.cs_FD_options.FDselected').forEach(el => { 7035 el.classList.remove('FDselected'); 7036 }); 7037 document.querySelectorAll(`.cs_FD_options[data-qty="${selectedQty}"]`).forEach(el => { 7038 el.classList.add('FDselected'); 7039 const radio = el.querySelector('input[type="radio"]'); 7040 if (radio) radio.checked = true; 7041 });
7042 7043 } 7044 </script>
7044 7045 7046 7047 <link href="//www.personalwine.com/cdn/shop/t/65/assets/zip-style.css?v=108766577809857856531788214101" rel="stylesheet" type="text/css" media="all" /> 7048 <div class="zip_popup_overlay"></div> 7049<div class="zip_popup_main" id="zip_popup_main"> 7050 <div class="zip_popup_inner"> 7051 <div class="zip_popup_close"> 7052 <a href="#"> 7053 <img src="https://cdn.shopify.com/s/files/1/0570/8546/0559/files/icons8-close-30.png?v=1708600006" alt="Close Popup"> 7054 </a> 7055 </div> 7056 <div class="zip_popup_col"> 7057 <div class="Panel"> 7058 <div class="heading_inn"> 7059 <p>Check In-home Delivery Date</p> 7060 7061 <img src="//www.personalwine.com/cdn/shop/files/Group_133.webp?v=1770888275&width=101" alt="Brown delivery van icon with motion lines behind it on a plain background." srcset="//www.personalwine.com/cdn/shop/files/Group_133.webp?v=1770888275&width=101 101w" width="101" height="46"> 7062 7063 </div> 7064 <div class="Panel__Content"> 7065 <div class="ShippingEstimator"> 7066 <div id="cs_shipping_rate"> 7067 <div class="form"> 7068 <input type="hidden" name="product_id" value="9237246017757"> 7069 <input type="hidden" name="variant_id" value="47134611865821"> 7070 <input type="hidden" name="sku" value="WS-PJ-BECH-MAG-12"> 7071 <input type="hidden" name="type" value="Wine"> 7072 <input type="hidden" name="tag" value="Customily,Engraving,Engraving-added,Large Format,mini_square,Shop,Sparkling,Wine"> 7073 <input type="hidden" name="name" value="2012 Perrier Jouet Belle Epoque | 1.5L"> 7074 <input type="hidden" name="quantity" value="1"> 7075 <input type="hidden" name="grams" value="3175"> 7076 <input type="hidden" name="price" value="69900"> 7077 <input type="hidden" name="vendor" value=""> 7078 7079 7080 <div class="ShippingEstimator__Form" style="padding-bottom:10px;"> 7081 <input 7082 id="input_postcode" 7083 type="text" 7084 class="input form-element Form__Input quantity__input" 7085 name="postal_code" 7086 placeholder="Enter Zipcode" 7087 > 7088 7089 <button 7090 id="search_postcode" 7091 type="submit" 7092 class="btn-primary search-postcode" 7093 > 7094 Check Date 7095 </button> 7096 </div> 7097 7098 <div class="ShippingEstimator__Error" style="display: none"></div> 7099 <div id="shipping_rates" class="shiping-rates-csutom" style="display:none"></div> 7100 </div> 7101 </div> 7102 </div> 7103 </div> 7104</div>
7105<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
vendor: 2 bytes, line 7105
7105
7106<script src="//www.personalwine.com/cdn/shopifycloud/storefront/assets/themes_support/api.jquery-7ab1a3a4.js" type="text/javascript"></script>
7106 7107
7108<script> 7109 $(document).ready(function () { 7110 // if(localStorage.getItem("czip")!=null) { 7111 // $('[name="postal_code"]').val(localStorage.getItem("czip")); 7112 // } 7113 // if(localStorage.getItem("eta")!=null) { 7114 // $('.shiping-rates-csutom').html('<p class="est-dev">'+localStorage.getItem("eta").replace('-', 'from')+'</p>'); 7115 // } 7116 7117 var wmf = '${{amount}}'; 7118 function getState(zipString) { 7119 /* Ensure we don't parse strings starting with 0 as octal values */ 7120 const zipcode = parseInt(zipString, 10); 7121 7122 let st; 7123 let state; 7124 7125 /* Code cases alphabetized by state */ 7126 if (zipcode >= 35000 && zipcode <= 36999) { 7127 st = 'AL'; 7128 state = 'Alabama'; 7129 } else if (zipcode >= 99500 && zipcode <= 99999) { 7130 st = 'AK'; 7131 state = 'Alaska'; 7132 } else if (zipcode >= 85000 && zipcode <= 86999) { 7133 st = 'AZ'; 7134 state = 'Arizona'; 7135 } else if (zipcode >= 71600 && zipcode <= 72999) { 7136 st = 'AR'; 7137 state = 'Arkansas'; 7138 } else if (zipcode >= 90000 && zipcode <= 96699) { 7139 st = 'CA'; 7140 state = 'California'; 7141 } else if (zipcode >= 80000 && zipcode <= 81999) { 7142 st = 'CO'; 7143 state = 'Colorado'; 7144 } else if ((zipcode >= 6000 && zipcode <= 6389) || (zipcode >= 6391 && zipcode <= 6999)) { 7145 st = 'CT'; 7146 state = 'Connecticut'; 7147 } else if (zipcode >= 19700 && zipcode <= 19999) { 7148 st = 'DE'; 7149 state = 'Delaware'; 7150 } else if (zipcode >= 32000 && zipcode <= 34999) { 7151 st = 'FL'; 7152 state = 'Florida'; 7153 } else if ((zipcode >= 30000 && zipcode <= 31999) || (zipcode >= 39800 && zipcode <= 39999)) { 7154 st = 'GA'; 7155 state = 'Georgia'; 7156 } else if ((zipcode >= 96700 && zipcode <= 96909) || (zipcode >= 96933 && zipcode <= 96999)) { 7157 st = 'HI'; 7158 state = 'Hawaii'; 7159 } else if (zipcode >= 96910 && zipcode <= 96932) { 7160 st = 'GU'; 7161 state = 'Guam'; 7162 } else if (zipcode >= 83200 && zipcode <= 83999) { 7163 st = 'ID'; 7164 state = 'Idaho'; 7165 } else if (zipcode >= 60000 && zipcode <= 62999) { 7166 st = 'IL'; 7167 state = 'Illinois'; 7168 } else if (zipcode >= 46000 && zipcode <= 47999) { 7169 st = 'IN'; 7170 state = 'Indiana'; 7171 } else if (zipcode >= 50000 && zipcode <= 52999) { 7172 st = 'IA'; 7173 state = 'Iowa'; 7174 } else if (zipcode >= 66000 && zipcode <= 67999) { 7175 st = 'KS'; 7176 state = 'Kansas'; 7177 } else if (zipcode >= 40000 && zipcode <= 42999) { 7178 st = 'KY'; 7179 state = 'Kentucky'; 7180 } else if (zipcode >= 70000 && zipcode <= 71599) { 7181 st = 'LA'; 7182 state = 'Louisiana'; 7183 } else if (zipcode >= 3900 && zipcode <= 4999) { 7184 st = 'ME'; 7185 state = 'Maine'; 7186 } else if (zipcode >= 20600 && zipcode <= 21999) { 7187 st = 'MD'; 7188 state = 'Maryland'; 7189 } else if ((zipcode >= 1000 && zipcode <= 2799) || zipcode == 5501 || zipcode == 5544) { 7190 st = 'MA'; 7191 state = 'Massachusetts'; 7192 } else if (zipcode >= 48000 && zipcode <= 49999) { 7193 st = 'MI'; 7194 state = 'Michigan'; 7195 } else if (zipcode >= 55000 && zipcode <= 56899) { 7196 st = 'MN'; 7197 state = 'Minnesota'; 7198 } else if (zipcode >= 38600 && zipcode <= 39999) { 7199 st = 'MS'; 7200 state = 'Mississippi'; 7201 } else if (zipcode >= 63000 && zipcode <= 65999) { 7202 st = 'MO'; 7203 state = 'Missouri'; 7204 } else if (zipcode >= 59000 && zipcode <= 59999) { 7205 st = 'MT'; 7206 state = 'Montana'; 7207 } else if (zipcode >= 27000 && zipcode <= 28999) { 7208 st = 'NC'; 7209 state = 'North Carolina'; 7210 } else if (zipcode >= 58000 && zipcode <= 58999) { 7211 st = 'ND'; 7212 state = 'North Dakota'; 7213 } else if (zipcode >= 68000 && zipcode <= 69999) { 7214 st = 'NE'; 7215 state = 'Nebraska'; 7216 } else if (zipcode >= 88900 && zipcode <= 89999) { 7217 st = 'NV'; 7218 state = 'Nevada'; 7219 } else if (zipcode >= 3000 && zipcode <= 3899) { 7220 st = 'NH'; 7221 state = 'New Hampshire'; 7222 } else if (zipcode >= 7000 && zipcode <= 8999) { 7223 st = 'NJ'; 7224 state = 'New Jersey'; 7225 } else if (zipcode >= 87000 && zipcode <= 88499) { 7226 st = 'NM'; 7227 state = 'New Mexico'; 7228 } else if ((zipcode >= 10000 && zipcode <= 14999) || (zipcode >= 500 && zipcode <= 599)) { 7229 st = 'NY'; 7230 state = 'New York'; 7231 } else if (zipcode >
7231= 43000 && zipcode <= 45999) { 7232 st = 'OH'; 7233 state = 'Ohio'; 7234 } else if ((zipcode >= 73000 && zipcode <= 73199) || (zipcode >= 73400 && zipcode <= 74999)) { 7235 st = 'OK'; 7236 state = 'Oklahoma'; 7237 } else if (zipcode >= 97000 && zipcode <= 97999) { 7238 st = 'OR'; 7239 state = 'Oregon'; 7240 } else if (zipcode >= 15000 && zipcode <= 19699) { 7241 st = 'PA'; 7242 state = 'Pennsylvania'; 7243 } else if ((zipcode >= 300 && zipcode <= 499) || (zipcode >= 600 && zipcode <= 999)) { 7244 st = 'PR'; 7245 state = 'Puerto Rico'; 7246 } else if (zipcode >= 2800 && zipcode <= 2999) { 7247 st = 'RI'; 7248 state = 'Rhode Island'; 7249 } else if (zipcode >= 29000 && zipcode <= 29999) { 7250 st = 'SC'; 7251 state = 'South Carolina'; 7252 } else if (zipcode >= 57000 && zipcode <= 57999) { 7253 st = 'SD'; 7254 state = 'South Dakota'; 7255 } else if (zipcode >= 37000 && zipcode <= 38599) { 7256 st = 'TN'; 7257 state = 'Tennessee'; 7258 } else if ( 7259 (zipcode >= 75000 && zipcode <= 79999) || 7260 (zipcode >= 73301 && zipcode <= 73399) || 7261 (zipcode >= 88500 && zipcode <= 88599) 7262 ) { 7263 st = 'TX'; 7264 state = 'Texas'; 7265 } else if (zipcode >= 84000 && zipcode <= 84999) { 7266 st = 'UT'; 7267 state = 'Utah'; 7268 } else if (zipcode >= 5000 && zipcode <= 5999) { 7269 st = 'VT'; 7270 state = 'Vermont'; 7271 } else if ((zipcode >= 20100 && zipcode <= 20199) || (zipcode >= 22000 && zipcode <= 24699) || zipcode == 20598) { 7272 st = 'VA'; 7273 state = 'Virginia'; 7274 } else if ( 7275 (zipcode >= 20000 && zipcode <= 20099) || 7276 (zipcode >= 20200 && zipcode <= 20599) || 7277 (zipcode >= 56900 && zipcode <= 56999) 7278 ) { 7279 st = 'DC'; 7280 state = 'Washington DC'; 7281 } else if (zipcode >= 98000 && zipcode <= 99499) { 7282 st = 'WA'; 7283 state = 'Washington'; 7284 } else if (zipcode >= 24700 && zipcode <= 26999) { 7285 st = 'WV'; 7286 state = 'West Virginia'; 7287 } else if (zipcode >= 53000 && zipcode <= 54999) { 7288 st = 'WI'; 7289 state = 'Wisconsin'; 7290 } else if (zipcode >= 82000 && zipcode <= 83199) { 7291 st = 'WY'; 7292 state = 'Wyoming'; 7293 } else { 7294 st = 'none'; 7295 state = 'none'; 7296 console.log('No state found matching', zipcode); 7297 } 7298 7299 return st; 7300 } 7301 7302 $('body').on('click', '.search-postcode', function (e) { 7303 $('.ShippingEstimator__Error, .shiping-rates-csutom').hide(); 7304 var myParent = $(this).parents('.ShippingEstimator'); 7305 e.preventDefault(); 7306 var form = $(this).closest('.form'); 7307 var destinations = {}; 7308 var rate = []; 7309 var temp = {}; 7310 var pc = form.find('[name="postal_code"]').val(); 7311 var destination = {}; 7312 destination['postal_code'] = pc; 7313 destination['province'] = getState(pc); 7314 destination['country'] = 'US'; 7315 destinations['destination'] = destination; 7316 7317 var origin = {}; 7318 origin['postal_code'] = '78744'; 7319 origin['province'] = 'TX'; 7320 origin['country'] = 'US'; 7321 destinations['origin'] = origin; 7322 7323 temp = destinations; 7324 7325 localStorage.setItem('czip', pc); 7326 7327 var quantity = form.find('[name="quantity"]').val(); 7328 var grams = form.find('[name="grams"]').val(); 7329 var price = form.find('[name="price"]').val(); 7330 var vendor = form.find('[name="vendor"]').val(); 7331 var product_id = form.find('[name="product_id"]').val(); 7332 7333 var variant_id = form.find('[name="variant_id"]').val(); 7334 var sku = form.find('[name="sku"]').val(); 7335 var type = form.find('[name="type"]').val(); 7336 var tag = form.find('[name="tag"]').val(); 7337 var name = form.find('[name="name"]').val(); 7338 7339 var t = /^\d+$/.test(pc); 7340 //console.log(pc.length, t) 7341 if (pc.length != 5 || t == false) { 7342 $(myParent).find('.ShippingEstimator__Error').html('Please enter a valid zipcode').show(); 7343 return false; 7344 } 7345 7346 var items = []; 7347 var item = {}; 7348 item['quantity'] = 1; 7349 item['grams'] = grams; 7350 item['price'] = price; 7351 item['vendor'] = vendor; 7352 item['product_id'] = product_id; 7353 item['variant_id'] = variant_id; 7354 item['sku'] = sku; 7355 item['type'] = type; 7356 item['tag'] = tag; 7357 item['name'] = name; 7358 items.push(item); 7359 // } 7360 temp['items'] = items; 7361 var shop = Shopify.shop; 7362 rate = temp; 7363 7364 var html = ''; 7365 $.ajax({
7366 url: 'https://sbz.cirkleinc.com/front-widget', 7367 data: { rate, shop }, 7368 dataType: 'JSON', 7369 crossDomain: true, 7370 type: 'post', 7371 success: function (srates) { 7372 if ($(myParent).find('#input_postcode').val() == '') { 7373 $(myParent).find('.ShippingEstimator__Error').html('Please enter a valid zipcode').show(); 7374 } else { 7375 if (typeof srates.rates == 'undefined') { 7376 $(myParent).find('.ShippingEstimator__Error').html('Sorry! Shipping not available for this location.').show(); 7377 return false; 7378 } 7379 if (srates.rates.length <= 0) { 7380 if ($(myParent).find('#input_postcode').val() == '') { 7381 $(myParent).find('.ShippingEstimator__Error').html('Enter the zip code.').show(); 7382 } else { 7383 $(myParent).find('.ShippingEstimator__Error').html('Sorry! Shipping not available for this location.').show(); 7384 } 7385 } else { 7386 let shippingRates = []; 7387 html += '<ul>'; 7388 console.log('srates ====', srates, '--- 11 ----', srates.rates); 7389 $(srates.rates).each(function (index, val) { 7390 $(myParent).find('.ShippingEstimator__Error').hide(); 7391 7392 shippingRates.push({ 7393 name: val.service_name, 7394 description: val.description, 7395 }); 7396 7397 if (index == srates.rates.length - 1) { 7398 localStorage.setItem('eta', val.description); 7399 } 7400 }); 7401 // Now, loop through the collected shippingRates and add to html 7402 shippingRates.forEach(function (rate) { 7403 var rate_name = rate.name; 7404 var parts = rate_name.split('-'); 7405 var lastValue = parts.pop(); 7406 var beforeLastValue = parts.join('-'); 7407 html += 7408 '<li><span>' + rate.name + '</span><br/><span class="shipdesc">' + rate.description + '</span></li>'; 7409 7410 // html += '<li><span>' + rate.name + '</span><br/><span class="shipdesc">' + rate.description + '</span></li>'; 7411 }); 7412 console.log('shippingRates ==== ', shippingRates); 7413 html += '</ul>'; 7414 7415 html += '<div class="need-future-text"><strong>Need it in the future?</strong> Options are available in checkout!</div>'; 7416 7417 $(myParent).find('.shiping-rates-csutom').html(html).show(); 7418 } 7419 } 7420 }, 7421 }); 7422 }); 7423 }); 7424</script>
7424 7425 7426<style> 7427 .flexBox { 7428 display: flex; 7429 justify-content: space-between; 7430 } 7431 .ShippingEstimator__Form { 7432 display: flex; 7433 } 7434 .Panel { 7435 max-width: 100%; 7436 margin: 20px 0; 7437 padding: 0; 7438 text-align: left; 7439 } 7440 div#shopify-section-pr_description { 7441 padding-top: 0; 7442 margin-top: 10px !important; 7443 } 7444 .shiping-rates-csutom li span{ 7445 font-size: 16px; 7446 width: 100%; 7447 line-height: 14px; 7448 display: block; 7449 font-weight: bold; 7450 margin-bottom: 5px; 7451 line-height: 1.4; 7452 } 7453 .shiping-rates-csutom li span.shipdesc { 7454 color: #555; 7455 font-size: 13px; 7456 } 7457 .shiping-rates-csutom b { 7458 font-size: 16px; 7459 text-transform: uppercase; 7460 display: block; 7461 margin-bottom: 5px; 7462 } 7463 .shiping-rates-csutom li { 7464 margin-top: 10px; 7465 display: flex; 7466 align-items: center; 7467 flex-wrap: wrap; 7468 margin-bottom: 10px; 7469 justify-content: flex-end; 7470 } 7471 .shiping-rates-csutom ::marker{ 7472 content:none; 7473 } 7474 #cs_shipping_rate .ShippingEstimator__Error { 7475 margin-top: 0; 7476 margin-bottom: 10px; 7477 font-size: 18px; 7478 color: #ff0000; 7479 } 7480 #cs_shipping_rate .ShippingEstimator__Error a { 7481 text-decoration: underline; 7482 } 7483 input#input_postcode { 7484 vertical-align: middle; 7485 border: 1px solid #6eb4bd !important; 7486 padding: 5px; 7487 margin-right: 8px; 7488 } 7489 7490 div.shiping-rates-csutom ul { 7491 margin-left: 0; 7492 padding: 0; 7493 margin-top: 0; 7494 } 7495 .Panel > p { 7496 font-size: 18px; 7497 margin-bottom: 10px; 7498 } 7499 @media(max-width:767px) { 7500 .flexBox, .ShippingEstimator__Form { 7501 display: block; 7502 } 7503 button.btn_checkout { 7504 margin-top: 10px !important; 7505 } 7506 input#input_postcode { 7507 margin-right: 0; 7508 margin-bottom: 10px; 7509 width: 100%; 7510 flex: 100%; 7511 } 7512 button#search_postcode { 7513 padding: 10px; 7514 width: 100%; 7515 flex: 100%; 7516 } 7517 } 7518 7519 /* 01-03-2024 Start */ 7520 .zip_popup_col .Panel { 7521 margin: 0; 7522 } 7523 .Panel .heading_inn p { 7524 margin: 0; 7525 font-weight: 400; 7526 } 7527 .Panel .ShippingEstimator .ShippingEstimator__Form { 7528 padding: 0 !important; 7529 flex-wrap: unset; 7530 } 7531 .Panel .ShippingEstimator .ShippingEstimator__Form input#input_postcode { 7532 margin: 0; 7533 font-weight: 500; 7534 font-size: 18px; 7535 height: 47px; 7536 border-radius: 0; 7537 padding: 5px 20px; 7538 box-shadow: none; 7539 width: 100%; 7540 flex: 1; 7541 border-color: rgb(212, 204, 197) !important; 7542 } 7543 .Panel .ShippingEstimator .ShippingEstimator__Form button#search_postcode { 7544 height: 47px; 7545 letter-spacing: 0; 7546 border-radius: 0 11px 11px 0; 7547 padding: 5px 25px; 7548 margin: 0; 7549 font-size: 18px; 7550 font-weight: 500; 7551 text-transform: capitalize; 7552 7553 color: #fff; 7554 flex: unset; 7555 7556 width: auto; 7557 } 7558 .Panel .ShippingEstimator .shiping-rates-csutom { 7559 background-color: #f7f5ee; 7560 padding: 15px; 7561 } 7562 .Panel .ShippingEstimator .shiping-rates-csutom p.est-dev { 7563 margin: 0; 7564 } 7565 .Panel .ShippingEstimator .shiping-rates-csutom ul { 7566 margin-left: 0; 7567 padding: 0; 7568 margin-top: 0; 7569 min-height: 250px; 7570 max-height: 400px; 7571 overflow-y: auto; 7572 display: flex; 7573 flex-direction: column; 7574 } 7575 .Panel .ShippingEstimator .shiping-rates-csutom li { 7576 margin: 0 0 15px; 7577 display: block; 7578 } 7579 .Panel .ShippingEstimator .shiping-rates-csutom li:first-child { 7580 /* order: 6; */ 7581 /* margin: 15px 0 0; */ 7582 } 7583 .Panel .ShippingEstimator .shiping-rates-csutom li:last-child { 7584 margin: 0; 7585 } 7586 .Panel .ShippingEstimator .shiping-rates-csutom li br { 7587 display: none; 7588 } 7589 .Panel .ShippingEstimator .shiping-rates-csutom li span { 7590 text-transform: capitalize; 7591 font-size: 16px; 7592 line-height: 1.3; 7593 margin: 0; 7594 display: block; 7595 } 7596 .Panel .ShippingEstimator .shiping-rates-csutom li span.shipdesc { 7597 7598 font-weight: 400; 7599 text-transform: capitalize; 7600 font-size: 14px; 7601 line-height: 1.3; 7602 margin: 0; 7603 7604 } 7605 @media screen and (max-width: 525px) { 7606 .Panel .ShippingEstimator .shiping-rates-csutom ul { 7607 max-height: 300px; 7608 } 7609 } 7610 @media screen and (max-width: 425px) { 7611 .Panel .ShippingEstimator .ShippingEstimator__Form input#input_postcode, 7612 .Panel .ShippingEstimator .ShippingEstimator__Form button#search_postcode { 7613 font-size: 14px; 7614 height: 40px; 7615 padding: 5px 10px; 7616 } 7617 } 7618 /* 01-03-2024 Start */ 7619</style> 7620 7621</div> 7622 7623 </div> 7624</div> 7625
7626<script> 7627 $(document).ready(function(){ 7628 //Cut of time manage from theme settings 7629 var cutOffTime = ""; 7630 //Processing manage from theme settings 7631 var pross_day = ""; 7632 7633 $(".pill--shipping").on("click", function(e){ 7634 e.preventDefault(); 7635 $(".zip_popup_overlay").addClass("zip-code-is-open"); 7636 $(".zip_popup_main").addClass("is-open"); 7637 }) 7638 7639 $('body').on('click','.zip-code-is-open , .zip_popup_close a',function(e){ 7640 e.preventDefault(); 7641 $(".zip_popup_main").removeClass("is-open"); 7642 $(".zip_popup_overlay").removeClass("zip-code-is-open"); 7643 }); 7644 7645 }) 7646</script>
7646 7647 7648 7649 <div id="shopify-block-AdTBORzdUdm95L0F1Z__1537173939754162885" class="shopify-block shopify-app-block"> 7650
7651<script> 7652 window.accessProWidgetSettings = {"default_menu_language":"en","enable_features":true,"icon":"default","icon_color_fill":"#333333","icon_color_stroke":"#333333","icon_position":"CL","icon_style":"thick","icon_size":"0.5x","menu_content_color":"#333333","menu_header_background_color":"#333333","menu_header_font_color":"#ffffff","open_accessibility_profile":true,"selected_languages":["en","fr","es","de"],"widget_size":"small","widgetheight":"popup","template":"minimal","color_template":"custom","lang_l":true,"enableMenuSettings":{"alignment":true,"animation":true,"contrast":true,"cursor":true,"dyslexic":true,"fontscale":true,"fontweight":true,"headings":true,"images":true,"languages":true,"letterspacing":true,"linespacing":true,"links":true,"magnifier":true,"mission":true,"profiles":true,"readingguide":true,"readingmask":true,"reset":true,"saturation":true,"sounds":true,"text2speech":true,"describeimages":false,"videos":true,"pagestructure":true,"textsummary":true,"virtualkeyboard":true,"dictionary":true,"invertcolors":true,"colorblind":false,"translatepage":true,"readerprofile":true,"seizureprofile":true,"adhdprofile":true,"cognitiveprofile":true,"visuallyimpairedprofile":true,"motorimpairedprofile":false,"elderlyprofile":false,"colorblindprofile":false,"linknavigation":false,"voicenavigation":true,"keyboardnavigation":false,"talkandtype":true,"customcolors":false,"keyboardshortcuts":true},"hide_floating_icon":true}; 7653 window.accessProComplianceSettings = {}; 7654 window.accessProCurrentPage = { 7655 pageType: "product", 7656 path: "\/products\/tafida-cabernet-sauvignon" 7657 }; 7658</script>
7658 7659 7660<style> 7661 7662 7663 .asw-widget-button-top { 7664 position: absolute !important; 7665 top: 10px !important; 7666 left: 10px !important; 7667 background-color: #000 !important; 7668 color: #fff !important; 7669 text-decoration: none !important; 7670 overflow: hidden; 7671 width: 1px !important; 7672 height: 1px !important; 7673 margin: -1px !important; 7674 padding: 0 !important; 7675 border: 0 !important; 7676 clip: rect(0 0 0 0) !important; 7677 word-wrap: normal !important; 7678 } 7679 .asw-widget-button-top-focused, 7680 .asw-widget-button-top:focus { 7681 z-index: 9999 !important; 7682 overflow: auto !important; 7683 width: auto !important; 7684 height: auto !important; 7685 clip: auto !important; 7686 padding: 10px 15px !important; 7687 } 7688 7689 #acp-virtualKeyboardPopup { 7690 position: fixed; 7691 bottom: 80px; 7692 left: 50%; 7693 transform: translateX(-50%); 7694 background: #ffffff !important; 7695 border: 1px solid #ccc; 7696 padding: 8px; 7697 box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2); 7698 z-index: 9999; 7699 display: none; 7700 width: 90%; 7701 max-width: 600px; 7702 border-radius: 10px; 7703 } 7704 7705 #acp-virtual-input { 7706 width: 100%; 7707 padding: 10px; 7708 font-size: 16px; 7709 margin-bottom: 10px; 7710 } 7711 7712 #acp-closeKeyboardBtn { 7713 color: #fff; 7714 border: none; 7715 padding: 1px 3px; 7716 cursor: pointer; 7717 float: right; 7718 border-radius: 4px; 7719 margin-bottom: 5px; 7720 } 7721 #acp-definition-popup { 7722 position: absolute; 7723 display: none; 7724 padding: 10px; 7725 background: white; 7726 border: 1px solid #ccc; 7727 z-index: 1000; 7728 border-radius: 14px; 7729 } 7730</style> 7731 7732<div id="acp-icon"></div> 7733<div id="acp-widget"></div> 7734 7735<!-- Virtual Keyboard Input and Keyboard --> 7736<div 7737 id="acp-definition-popup" 7738></div> 7739<div 7740 id="acp-dictionary-toast" 7741 class="asw-text-speech-bar" 7742 style="display: none;" 7743 data-ap-translate="DICTIONARY DESC" 7744> 7745 Double click on a word to see the definition. 7746</div> 7747<div id="acp-virtualKeyboardPopup" role="dialog" aria-modal="true" aria-label="Virtual keyboard popup"> 7748 <button id="acp-closeKeyboardBtn" aria-label="Close virtual keyboard"> 7749 <svg 7750 xmlns="http://www.w3.org/2000/svg" 7751 width="24" 7752 height="24" 7753 viewBox="0 0 24 24" 7754 fill="none" 7755 > 7756 <path 7757 d="M18 6L6 18" 7758 stroke="black" 7759 strokeWidth="2" 7760 strokeLinecap="round" 7761 strokeLinejoin="round" 7762 /> 7763 <path 7764 d="M6 6L18 18" 7765 stroke="black" 7766 strokeWidth="2" 7767 strokeLinecap="round" 7768 strokeLinejoin="round" 7769 /> 7770 </svg> 7771 </button> 7772 7773 <div id="acp-virtual-keyboard" class="simple-keyboard"></div> 7774
7774<script> 7775 function makeDraggableVirtualKeyboard(el) { 7776 let pos1 = 0, 7777 pos2 = 0, 7778 pos3 = 0, 7779 pos4 = 0; 7780 7781 el.onmousedown = dragMouseDown; 7782 7783 function dragMouseDown(e) { 7784 e.preventDefault(); 7785 pos3 = e.clientX; 7786 pos4 = e.clientY; 7787 document.onmouseup = closeDragElement; 7788 document.onmousemove = elementDrag; 7789 } 7790 7791 function elementDrag(e) { 7792 e.preventDefault(); 7793 pos1 = pos3 - e.clientX; 7794 pos2 = pos4 - e.clientY; 7795 pos3 = e.clientX; 7796 pos4 = e.clientY; 7797 el.style.top = el.offsetTop - pos2 + 'px'; 7798 el.style.left = el.offsetLeft - pos1 + 'px'; 7799 el.style.bottom = 'unset'; 7800 el.style.right = 'unset'; 7801 } 7802 7803 function closeDragElement() { 7804 document.onmouseup = null; 7805 document.onmousemove = null; 7806 } 7807 } 7808 7809 makeDraggableVirtualKeyboard(document.getElementById('acp-virtualKeyboardPopup')); 7810 </script>
7810 7811</div>
7812<script> 7813 // App Procxy Handle 7814 7815 window.accessProProxyHandle = '/apps/access-pro'; 7816 7817 7818 // URLs 7819 window.accessProSettingsUrl = `${window.accessProProxyHandle}/theme/settings/`; 7820 window.accessProPageViewsCountUrl = `${window.accessProProxyHandle}/theme/views/update/count`; 7821 7822 7823 // Translation URL 7824 var shopify_domain = `ku1htv-4a.myshopify.com`; 7825 window.accessProTranslationUrl = `https://access-pro-api.entanglecommerce.com/api/v1/language/translate/?domain=${shopify_domain}`; 7826 window.pageViewsCountURL = `${window.accessProProxyHandle}/theme/views/update/count`; 7827</script>
7827 7828
7829<script src="https://cdn.shopify.com/extensions/01a0a4a2-9ae1-7bbf-bb1e-1aa291044673/access-pro-2-243/assets/main.js" defer></script>
vendor: 1 bytes, line 7829
7829
7830<script> 7831 (function () { 7832 var params = new URLSearchParams(window.location.search); 7833 var token = params.get('acp_scan'); 7834 if (!token) return; 7835 7836 function showScanOverlay(message) { 7837 var el = document.getElementById('acp-scan-overlay'); 7838 if (!el) { 7839 el = document.createElement('div'); 7840 el.id = 'acp-scan-overlay'; 7841 el.style.cssText = 7842 'position:fixed;inset:0;background:rgba(255,255,255,0.94);z-index:2147483647;display:flex;align-items:center;justify-content:center;font-family:system-ui,-apple-system,sans-serif;'; 7843 el.innerHTML = 7844 '<div style="text-align:center;max-width:320px;padding:24px">' + 7845 '<p style="font-size:18px;font-weight:600;margin:0 0 8px;color:#111">Scanning for accessibility</p>' + 7846 '<p id="acp-scan-overlay-status" style="font-size:14px;color:#666;margin:0"></p>' + 7847 '</div>'; 7848 document.body.appendChild(el); 7849 } 7850 var status = document.getElementById('acp-scan-overlay-status'); 7851 if (status) status.textContent = message || 'Please waitâ¦'; 7852 } 7853 7854 showScanOverlay('Preparing accessibility scanâ¦'); 7855 7856 function hideOverlay() { 7857 var el = document.getElementById('acp-scan-overlay'); 7858 if (el) el.style.display = 'none'; 7859 } 7860 7861 function submitScanResult(payload) { 7862 var params = new URLSearchParams(window.location.search); 7863 var jobId = params.get('acp_job'); 7864 if (!jobId) { 7865 return; 7866 } 7867 7868 var pageUrl = window.location.origin + window.location.pathname; 7869 fetch(window.accessProProxyHandle + '/theme/accessibility-scan/complete', { 7870 method: 'POST', 7871 headers: { 'Content-Type': 'application/json' }, 7872 body: JSON.stringify({ 7873 jobId: jobId, 7874 scanToken: token, 7875 url: pageUrl, 7876 axeResults: payload.results || null, 7877 error: 7878 payload.type === 'accesspro-axe-scan-error' 7879 ? payload.message || 'Accessibility scan failed' 7880 : null, 7881 }), 7882 }) 7883 .then(function (response) { 7884 return response.json().catch(function () { 7885 return {}; 7886 }); 7887 }) 7888 .then(function (data) { 7889 if (window.opener) { 7890 var isFinal = data.reportId != null; 7891 var isNextScanPage = false; 7892 if (data.redirectUrl) { 7893 try { 7894 isNextScanPage = new URL(data.redirectUrl).searchParams.has('acp_scan'); 7895 } catch (e) {} 7896 } 7897 7898 window.opener.postMessage( 7899 { 7900 type: 'accesspro-axe-scan-progress', 7901 jobId: jobId, 7902 redirectUrl: data.redirectUrl || null, 7903 reportId: data.reportId != null ? data.reportId : null, 7904 error: data.success ? null : (data.message || 'Scan failed'), 7905 }, 7906 '*', 7907 ); 7908 7909 if (isFinal) { 7910 showScanOverlay('Returning to your audit reportâ¦'); 7911 return; 7912 } 7913 7914 if (isNextScanPage && data.redirectUrl) { 7915 showScanOverlay('Scanning next pageâ¦'); 7916 window.location.href = data.redirectUrl; 7917 return; 7918 } 7919 7920 setTimeout(function () { 7921 window.close(); 7922 }, 400); 7923 return; 7924 } 7925 if (data.redirectUrl) { 7926 showScanOverlay('Returning to your audit reportâ¦'); 7927 window.location.href = data.redirectUrl; 7928 return; 7929 } 7930 showScanOverlay(data.message || 'Scan failed'); 7931 if (window.opener) { 7932 window.opener.postMessage( 7933 { 7934 type: 'accesspro-axe-scan-progress', 7935 jobId: jobId, 7936 error: data.message || 'Scan failed', 7937 }, 7938 '*', 7939 ); 7940 } 7941 }) 7942 .catch(function (err) { 7943 var message = 7944 (err && err.message) || 'Scan failed'; 7945 showScanOverlay(message); 7946 if (window.opener) { 7947 var jobIdErr = new URLSearchParams(window.location.search).get('acp_job'); 7948 window.opener.postMessage( 7949 { 7950 type: 'accesspro-axe-scan-progress', 7951 jobId: jobIdErr, 7952 error: message, 7953 }, 7954 '*', 7955 ); 7956 } 7957 }); 7958 } 7959 7960 function waitForFullPageLoad() { 7961 return new Promise(function (resolve) { 7962 function settle() { 7963 // Extended settle time for dynamic content, carousels, lazy sections 7964 // Wait for network idle + animations + JS state changes 7965 setTimeout(function() { 7966 // Wait for any lazy images to finish loading 7967 var images = Array.prototype.slice.call(document.querySelectorAll('img[loading="lazy"]')); 7968 var pendingImages = images.filter(function(img) { 7969 return !img.complete; 7970 }); 7971 7972 if (pendingImages.length > 0) { 7973 var loaded = 0; 7974 var timeout = setTimeout(function() { 7975 resolve(); // Don't wait forever 7976 }, 2000); 7977
7978 pendingImages.forEach(function(img) { 7979 function handleLoad() { 7980 loaded++; 7981 if (loaded >= pendingImages.length) { 7982 clearTimeout(timeout); 7983 // Additional wait for any pending RAF or microtasks 7984 requestAnimationFrame(function() { 7985 setTimeout(resolve, 100); 7986 }); 7987 } 7988 } 7989 img.addEventListener('load', handleLoad, { once: true }); 7990 img.addEventListener('error', handleLoad, { once: true }); 7991 }); 7992 } else { 7993 // Additional wait for any pending RAF or microtasks 7994 requestAnimationFrame(function() { 7995 setTimeout(resolve, 100); 7996 }); 7997 } 7998 }, 3000); 7999 } 8000 if (document.readyState === 'complete') { 8001 settle(); 8002 return; 8003 } 8004 window.addEventListener('load', settle, { once: true }); 8005 }); 8006 } 8007 8008 // Port of accessibility-scanner Phase 3 WCAG 2.2 / APG checks (browser-side). 8009 // Findings are merged into axe violations/incomplete so the existing pipeline needs no changes. 8010 function isAccessProScanElement(el) { 8011 if (!el || !el.closest) return false; 8012 return !!( 8013 el.closest('#acp-icon') || 8014 el.closest('#acp-widget') || 8015 el.closest('#acp-virtualKeyboardPopup') || 8016 el.closest('#acp-definition-popup') || 8017 el.closest('#acp-dictionary-toast') || 8018 el.closest('#acp-scan-overlay') || 8019 el.closest('[id^="acp-"]') || 8020 el.closest('.asw-widget-button-top') 8021 ); 8022 } 8023 8024 // Enhanced element visibility check including all CSS hiding techniques 8025 function isElementVisible(el) { 8026 if (!el || !el.getBoundingClientRect) return false; 8027 var style = window.getComputedStyle(el); 8028 if (style.display === 'none' || style.visibility === 'hidden') return false; 8029 if (style.opacity === '0') return false; 8030 if (style.position === 'absolute' && style.clip === 'rect(0px, 0px, 0px, 0px)') return false; 8031 if (style.width === '1px' && style.height === '1px' && style.overflow === 'hidden') return false; 8032 var rect = el.getBoundingClientRect(); 8033 if (rect.width === 0 || rect.height === 0) return false; 8034 return true; 8035 } 8036 8037 function runWcag22Checks() { 8038 var violations = []; 8039 var incomplete = []; 8040 8041 try { 8042 // WCAG 2.4.11 Focus Not Obscured â sticky/fixed heuristic (manual review) 8043 var stickyElements = Array.prototype.slice 8044 .call(document.querySelectorAll('*')) 8045 .filter(function (el) { 8046 if (isAccessProScanElement(el)) return false; 8047 if (!isElementVisible(el)) return false; 8048 var style = getComputedStyle(el); 8049 return ( 8050 (style.position === 'sticky' || style.position === 'fixed') && 8051 el.getBoundingClientRect().height > 40 8052 ); 8053 }) 8054 .slice(0, 5) 8055 .map(function (el) { 8056 var style = getComputedStyle(el); 8057 return { 8058 tag: el.tagName.toLowerCase(), 8059 id: el.id || null, 8060 height: Math.round(el.getBoundingClientRect().height), 8061 position: style.position, 8062 }; 8063 }); 8064 8065 if (stickyElements.length > 0) { 8066 incomplete.push({ 8067 id: 'focus-not-obscured', 8068 impact: 'serious', 8069 tags: ['wcag22aa', 'wcag2411'], 8070 description: 8071 'WCAG 2.4.11: Focused elements must not be entirely obscured. Fixed/sticky elements detected â manual keyboard testing required.', 8072 helpUrl: 8073 'https://www.w3.org/WAI/WCAG22/Understanding/focus-not-obscured-minimum.html', 8074 nodes: stickyElements.map(function (e) { 8075 return { 8076 html: 8077 '<' + 8078 e.tag + 8079 (e.id ? ' id="' + e.id + '"' : '') + 8080 '> (' + 8081 e.position + 8082 ', ' + 8083 e.height + 8084 'px tall)', 8085 target: [e.tag + (e.id ? '#' + e.id : '')], 8086 failureSummary: 8087 'Fixed/sticky element may obscure focused components. Verify with keyboard navigation.', 8088 }; 8089 }), 8090 }); 8091 } 8092 8093 // NEW: aria-hidden-focus check - elements with aria-hidden="true" that are focusable 8094 var hiddenFocusable = []; 8095 document.querySelectorAll('[aria-hidden="true"]').forEach(function(el) { 8096 if (isAccessProScanElement(el)) return; 8097 // Check if this element or any descendant is focusable 8098 var focusableSelectors = 'a[href], button, input, select, textarea, [tabindex]:not
8098([tabindex="-1"])'; 8099 var focusables = el.matches(focusableSelectors) ? [el] : Array.prototype.slice.call(el.querySelectorAll(focusableSelectors)); 8100 focusables.forEach(function(focusEl) { 8101 if (isElementVisible(focusEl) && focusEl.tabIndex >= 0) { 8102 hiddenFocusable.push({ 8103 html: focusEl.outerHTML.slice(0, 500), 8104 selector: buildScanSelector(focusEl), 8105 parentHiddenHtml: el.outerHTML.slice(0, 200) 8106 }); 8107 } 8108 }); 8109 }); 8110 8111 if (hiddenFocusable.length > 0) { 8112 violations.push({ 8113 id: 'aria-hidden-focus', 8114 impact: 'serious', 8115 tags: ['wcag2aa', 'wcag412'], 8116 description: 'WCAG 4.1.2: Focusable elements must not be hidden with aria-hidden="true"', 8117 helpUrl: 'https://www.w3.org/WAI/WCAG22/Understanding/name-role-value.html', 8118 nodes: hiddenFocusable.slice(0, 10).map(function(item) { 8119 return { 8120 html: item.html, 8121 target: [item.selector], 8122 failureSummary: 'Focusable element is inside aria-hidden="true" container' 8123 }; 8124 }) 8125 }); 8126 } 8127 8128 // WCAG 2.5.3 Label in Name - Enhanced with better visible text extraction 8129 // Visible text = text rendered on screen (excludes aria-hidden, sr-only, SVG internals). 8130 function getVisibleText(el) { 8131 var text = ''; 8132 for (var i = 0; i < el.childNodes.length; i++) { 8133 var child = el.childNodes[i]; 8134 if (child.nodeType === 3) { text += child.textContent; continue; } 8135 if (child.nodeType !== 1) continue; 8136 if (child.getAttribute('aria-hidden') === 'true') continue; 8137 var st = window.getComputedStyle(child); 8138 if (st.display === 'none' || st.visibility === 'hidden') continue; 8139 if (st.opacity === '0') continue; 8140 if (st.position === 'absolute') { 8141 var clip = st.clip; 8142 if (clip === 'rect(0px, 0px, 0px, 0px)' || clip === 'rect(0, 0, 0, 0)') continue; 8143 } 8144 if (st.width === '1px' && st.height === '1px' && st.overflow === 'hidden') continue; 8145 if (st.fontSize === '0px' || st.width === '0px' || st.height === '0px') continue; 8146 text += getVisibleText(child); 8147 } 8148 return text; 8149 } 8150 function buildScanSelector(el) { 8151 if (el.id) return '#' + CSS.escape(el.id); 8152 var testId = el.getAttribute('data-testid') || el.getAttribute('data-test-id'); 8153 if (testId) return '[data-testid="' + testId + '"]'; 8154 var tag = el.tagName.toLowerCase(); 8155 var cls = (el.getAttribute('class') || '').split(/\s+/).filter(function (c) { 8156 return c && c.length < 60 && !/^(active|is-|js-|open|hidden|focus|hover)/i.test(c); 8157 }).slice(0, 3); 8158 return cls.length ? tag + '.' + cls.join('.') : tag; 8159 } 8160 8161 // Enhanced selector to catch more interactive elements 8162 var interactiveSelector = 'button, [role="button"], a[aria-label], [role="link"][aria-label], ' + 8163 '[role="menuitem"][aria-label], [role="tab"][aria-label], [role="checkbox"][aria-label], ' + 8164 '[role="radio"][aria-label], [role="switch"][aria-label], [role="combobox"][aria-label], ' + 8165 '[role="searchbox"][aria-label], [role="textbox"][aria-label]'; 8166 8167 var mismatches = Array.prototype.slice 8168 .call(document.querySelectorAll(interactiveSelector)) 8169 .filter(function (el) { 8170 return !isAccessProScanElement(el) && isElementVisible(el); 8171 }) 8172 .map(function (el) { 8173 var ariaLabel = el.getAttribute('aria-label') || ''; 8174 var visibleText = getVisibleText(el).replace(/\s+/g, ' ').trim(); 8175 if (!ariaLabel || !visibleText) return null; 8176 if (visibleText.length <= 1) return null; 8177 8178 // Normalize for comparison - remove punctuation and make case-insensitive 8179 var normalizedLabel = ariaLabel.toLowerCase().replace(/[^\w\s]/g, ''); 8180 var normalizedVisible = visibleText.toLowerCase().replace(/[^\w\s]/g, ''); 8181 8182 // Check if visible text is substring of aria-label
8183 if (normalizedLabel.includes(normalizedVisible)) return null; 8184 8185 // Check word-by-word containment for multi-word labels 8186 var visibleWords = normalizedVisible.split(/\s+/).filter(Boolean); 8187 if (visibleWords.length > 0) { 8188 var allWordsPresent = visibleWords.every(function(word) { 8189 return normalizedLabel.includes(word); 8190 }); 8191 if (allWordsPresent) return null; 8192 } 8193 8194 return { 8195 html: el.outerHTML.slice(0, 500), 8196 selector: buildScanSelector(el), 8197 ariaLabel: ariaLabel, 8198 visibleText: visibleText, 8199 }; 8200 }) 8201 .filter(Boolean) 8202 .slice(0, 10); 8203 8204 if (mismatches.length > 0) { 8205 violations.push({ 8206 id: 'label-in-name', 8207 impact: 'serious', 8208 tags: ['wcag21a', 'wcag253'], 8209 description: 'WCAG 2.5.3: Accessible name must contain visible label text', 8210 helpUrl: 'https://www.w3.org/WAI/WCAG22/Understanding/label-in-name.html', 8211 nodes: mismatches.map(function (m) { 8212 return { 8213 html: m.html, 8214 target: [m.selector], 8215 failureSummary: 8216 'aria-label="' + 8217 m.ariaLabel + 8218 '" does not contain visible text "' + 8219 m.visibleText + 8220 '"', 8221 }; 8222 }), 8223 }); 8224 } 8225 8226 // 2.5.7 Dragging Movements 8227 var draggableElements = Array.prototype.slice 8228 .call( 8229 document.querySelectorAll( 8230 '[draggable="true"], [data-sortable], .sortable-item', 8231 ), 8232 ) 8233 .filter(function (el) { 8234 return !isAccessProScanElement(el); 8235 }) 8236 .slice(0, 5) 8237 .map(function (el) { 8238 return { 8239 html: el.outerHTML.slice(0, 500), 8240 selector: buildScanSelector(el), 8241 }; 8242 }); 8243 8244 if (draggableElements.length > 0) { 8245 incomplete.push({ 8246 id: 'dragging-movements', 8247 impact: 'serious', 8248 tags: ['wcag22aa', 'wcag257'], 8249 description: 8250 'WCAG 2.5.7: Draggable elements must have a single-pointer alternative. Manual verification required.', 8251 helpUrl: 'https://www.w3.org/WAI/WCAG22/Understanding/dragging-movements.html', 8252 nodes: draggableElements.map(function (e) { 8253 return { 8254 html: e.html, 8255 target: [e.selector], 8256 failureSummary: 8257 'Verify that a keyboard or single-pointer alternative exists for this drag operation.', 8258 }; 8259 }), 8260 }); 8261 } 8262 8263 // ARIA APG: Dialog Pattern 8264 var badDialogs = Array.prototype.slice 8265 .call(document.querySelectorAll('[role="dialog"], [role="alertdialog"]')) 8266 .filter(function (el) { 8267 if (isAccessProScanElement(el)) return false; 8268 return !( 8269 el.hasAttribute('aria-labelledby') || el.hasAttribute('aria-label') 8270 ); 8271 }) 8272 .slice(0, 5) 8273 .map(function (el) { 8274 return { 8275 html: el.outerHTML.slice(0, 500), 8276 selector: buildScanSelector(el), 8277 }; 8278 }); 8279 8280 if (badDialogs.length > 0) { 8281 violations.push({ 8282 id: 'dialog-missing-label', 8283 impact: 'serious', 8284 tags: ['aria-apg', 'wcag2aa'], 8285 description: 8286 'ARIA APG Dialog Pattern: role="dialog" must have aria-labelledby or aria-label', 8287 helpUrl: 'https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/', 8288 nodes: badDialogs.map(function (d) { 8289 return { 8290 html: d.html, 8291 target: [d.selector], 8292 failureSummary: 8293 'Add aria-labelledby pointing to a visible dialog title, or aria-label.', 8294 }; 8295 }), 8296 }); 8297 } 8298 8299 // ARIA APG: Tabs Pattern â tabs must have aria-selected (true on active, false on others
8299) 8300 var badTabs = []; 8301 Array.prototype.slice 8302 .call(document.querySelectorAll('[role="tablist"]')) 8303 .forEach(function (tabList) { 8304 if (isAccessProScanElement(tabList)) return; 8305 var tabs = Array.prototype.slice.call(tabList.querySelectorAll('[role="tab"]')); 8306 var hasAnySelected = tabs.some(function (t) { return t.getAttribute('aria-selected') === 'true'; }); 8307 tabs.forEach(function (tab) { 8308 if (isAccessProScanElement(tab)) return; 8309 if (!tab.hasAttribute('aria-selected')) { 8310 // Detect if this tab appears active (has aria-current, class "active", etc.) 8311 var looksActive = !hasAnySelected && tab.classList.contains('active'); 8312 badTabs.push({ 8313 html: tab.outerHTML.slice(0, 500), 8314 selector: buildScanSelector(tab), 8315 suggestValue: looksActive ? 'true' : 'false', 8316 }); 8317 } 8318 }); 8319 }); 8320 badTabs = badTabs.slice(0, 5); 8321 8322 if (badTabs.length > 0) { 8323 violations.push({ 8324 id: 'tabs-missing-aria-selected', 8325 impact: 'serious', 8326 tags: ['aria-apg', 'wcag2aa'], 8327 description: 8328 'ARIA APG Tabs Pattern: each [role="tab"] must have aria-selected="true" or aria-selected="false"', 8329 helpUrl: 'https://www.w3.org/WAI/ARIA/apg/patterns/tabs/', 8330 nodes: badTabs.map(function (t) { 8331 return { 8332 html: t.html, 8333 target: [t.selector], 8334 failureSummary: 8335 'Tab missing aria-selected. Suggested value: aria-selected="' + (t.suggestValue || 'false') + '"', 8336 }; 8337 }), 8338 }); 8339 } 8340 } catch (err) { 8341 console.warn( 8342 '[AccessPro][AxeScan][storefront] WCAG 2.2 checks error', 8343 err && err.message ? err.message : err, 8344 ); 8345 } 8346 8347 return { violations: violations, incomplete: incomplete }; 8348 } 8349 8350 function runAxeScan() { 8351 if (!window.axe) { 8352 showScanOverlay('Scan failed: axe-core not loaded'); 8353 notifyScanOpener({ 8354 type: 'accesspro-axe-scan-error', 8355 token: token, 8356 message: 'axe-core failed to load', 8357 }); 8358 return; 8359 } 8360 8361 // CRITICAL: Hide overlay before scan to prevent interference with color-contrast/visibility checks 8362 hideOverlay(); 8363 8364 // Run axe WITHOUT overlay visible to get accurate color contrast and visibility results 8365 window.axe 8366 .run(document, { 8367 runOnly: { 8368 type: 'tag', 8369 values: ['wcag2a', 'wcag2aa', 'wcag21aa', 'wcag22aa'], 8370 }, 8371 exclude: [ 8372 ['#acp-icon'], 8373 ['#acp-widget'], 8374 ['#acp-virtualKeyboardPopup'], 8375 ['#acp-definition-popup'], 8376 ['#acp-dictionary-toast'], 8377 ['#acp-scan-overlay'], 8378 ['.asw-widget-button-top'], 8379 ], 8380 }) 8381 .then(function (results) { 8382 // Now safe to show overlay after scan completes 8383 showScanOverlay('Processing scan resultsâ¦'); 8384 var extra = runWcag22Checks(); 8385 if (!results.violations) results.violations = []; 8386 if (!results.incomplete) results.incomplete = []; 8387 // Scanner stores customChecks separately; merge into axe arrays so 8388 // buildAxeScanSummary (customChecks: []) still surfaces them. 8389 results.violations = results.violations.concat(extra.violations || []); 8390 results.incomplete = results.incomplete.concat(extra.incomplete || []); 8391 8392 // List rule only: axe often stores just the opening <ul> tag. 8393 // Re-serialize with direct children so the report/AI Fixes show the real issue. 8394 enrichListViolationNodes(results); 8395 8396 notifyScanOpener({ 8397 type: 'accesspro-axe-scan', 8398 token: token, 8399 url: window.location.href, 8400 results: results, 8401 }); 8402 }) 8403 .catch(function (err) { 8404 showScanOverlay('Scan failed'); 8405 notifyScanOpener({ 8406 type: 'accesspro-axe-scan-error', 8407 token: token, 8408 message: err && err.message ? err.message : 'Accessibility scan failed', 8409 }); 8410 }); 8411 } 8412 8413 /** 8414 * Optimize axe `list` node payloads only (no other rules). 8415 * Horizon overflow-list / ul[part=list] failures need children in HTML 8416 * so merchants see role=presentation / non-li children clearly. 8417 */ 8418 function enrichListViolationNodes(results) { 8419 var violations = results && results.violations; 8420 if (!violations || !violations.length) return; 8421 8422 function queryInRoot(root, sel) { 8423 if (!root || !sel) return null; 8424 try { 8425 return root.querySelector(sel); 8426 } catch (e) { 8427 return null; 8428 } 8429 } 8430 8431 function resolveShadowPath(path) { 8432 if (!path) return null; 8433 if (typeof path === 'string') { 8434 return ( 8435 queryInRoot(document, path) || 8436 queryDeepAll(path)[0] || 8437 null 8438 ); 8439 } 8440 if (!Array.isArray(path) || !path.length) return null; 8441 8442 // Nested shadow path: ["host", "inner"] or [["host", "inner"]] 8443 var steps = path; 8444 if (steps.length === 1 && Array.isArray(steps[0])) { 8445 steps = steps[0]; 8446 } 8447 8448 var ctx = document; 8449 var el = null; 8450 for (var i = 0; i < steps.length; i++) { 8451 var step = steps[i]; 8452 if (Array.isArray(step)) { 8453 el = resolveShadowPath(step); 8454 } else { 8455 el = queryInRoot(ctx, String(step)); 8456 if (!el && ctx === document) { 8457 el = queryDeepAll(String(step))[0] || null; 8458 } 8459 } 8460 if (!el) return null; 8461 ctx = el.shadowRoot || el; 8462 } 8463 return el; 8464 } 8465 8466 function queryDeepAll(sel) { 8467 var out = []; 8468 function walk(root) { 8469 if (!root || !root.querySelectorAll) return; 8470 try { 8471 Array.prototype.push.apply(out, root.querySelectorAll(sel)); 8472 } catch (e) { 8473 /* invalid selector */ 8474 } 8475 var all = root.querySelectorAll ? root.querySelectorAll('*') : []; 8476 for (var i = 0; i < all.length; i++) { 8477 if (all[i].shadowRoot) walk(all[i].shadowRoot); 8478 } 8479 } 8480 walk(document); 8481 return out; 8482 } 8483 8484 function serializeChildSnippet(child) { 8485 if (!child || !child.tagName) return ''; 8486 var tag = child.tagName.toLowerCase(); 8487 var role = (child.getAttribute && child.getAttribute('role')) || ''; 8488 var part = (child.getAttribute && child.getAttribute('part')) || ''; 8489 var cls = (child.getAttribute && child.getAttribute('class')) || ''; 8490 var open = 8491 '<' + 8492 tag + 8493 (role ? ' role="' + role + '"' : '') + 8494 (part ? ' part="' + part + '"' : '') + 8495 (cls 8496 ? ' class="' + 8497 String(cls) 8498 .trim() 8499 .split(/\s+/) 8500 .slice(0, 3) 8501 .join(' ') + 8502 '"' 8503 : '') + 8504 '>'; 8505 var text = (child.textContent || '').replace(/\s+/g, ' ').trim().slice(0, 40); 8506 return open + (text ? text : 'â¦') + '</' + tag + '>'; 8507 } 8508 8509 function serializeListHtml(listEl) { 8510 if (!listEl || !listEl.tagName) return ''; 8511 var tag = listEl.tagName.toLowerCase(); 8512 if (tag !== 'ul' && tag !== 'ol') return ''; 8513 var openMatch = String(listEl.outerHTML || '').match(/^<[^>]+>/); 8514 var openTag = openMatch ? openMatch[0] : '<' + tag + '>'; 8515 var children = Array.prototype.slice.call(listEl.children || []).slice(0, 10); 8516 if (!children.length) return openTag; 8517 var lines = children.map(function (child) { 8518 return ' ' + serializeChildSnippet(child); 8519 }); 8520 if ((listEl.children || []).length > 10) { 8521 lines.push(' <!-- ⦠' + (listEl.children.length - 10) + ' more -->'); 8522 } 8523 return openTag + '\n' + lines.join('\n') + '\n</' + tag + '>'; 8524 } 8525 8526 function findListFallback() { 8527 var candidates = queryDeepAll('ul[part="list"], overflow-list ul, ul, ol'); 8528 var withBad = candidates.filter(function (listEl) { 8529 return Array.prototype.some.call(listEl.children || [], function (child) { 8530 var role = (child.getAttribute && child.getAttribute('role')) || ''; 8531 var t = (child.tagName || '').toLowerCase(); 8532 return ( 8533 role === 'presentation' || 8534 role === 'none' || 8535 (t !== 'li' && t !== 'script' && t !== 'template' && t !== 'style') 8536 ); 8537 }); 8538 }); 8539 return withBad.length === 1 ? withBad[0] : null; 8540 } 8541 8542 violations.forEach(function (v) { 8543 if (!v || v.id !== 'list') return;
8544 (v.nodes || []).forEach(function (node) { 8545 if (!node) return; 8546 var hintHtml = String(node.html || ''); 8547 var el = resolveShadowPath(node.target); 8548 8549 // Flat axe targets like ["ul"] are too generic â prefer part=list from html hint. 8550 if ( 8551 el && 8552 /part\s*=\s*["']list["']/i.test(hintHtml) && 8553 !(el.getAttribute && el.getAttribute('part') === 'list') 8554 ) { 8555 var partLists = queryDeepAll('ul[part="list"]'); 8556 if (partLists.length === 1) el = partLists[0]; 8557 else if (partLists.length > 1) { 8558 var badPart = partLists.filter(function (listEl) { 8559 return Array.prototype.some.call(listEl.children || [], function (child) { 8560 var role = (child.getAttribute && child.getAttribute('role')) || ''; 8561 return role === 'presentation' || role === 'none'; 8562 }); 8563 }); 8564 if (badPart.length === 1) el = badPart[0]; 8565 } 8566 } 8567 8568 if (el && el.tagName) { 8569 var t = el.tagName.toLowerCase(); 8570 if (t !== 'ul' && t !== 'ol' && el.closest) { 8571 el = el.closest('ul, ol') || el; 8572 } 8573 } 8574 if (!el || !el.tagName || !/^(UL|OL)$/.test(el.tagName)) { 8575 el = findListFallback(); 8576 } 8577 if (!el) return; 8578 8579 var better = serializeListHtml(el); 8580 if (better && better.length > hintHtml.length) { 8581 node.html = better.slice(0, 2500); 8582 } 8583 8584 // Prefer a stable, actionable selector for Horizon chrome lists. 8585 if (el.getAttribute && el.getAttribute('part') === 'list') { 8586 node.target = ['ul[part="list"]']; 8587 } 8588 }); 8589 }); 8590 } 8591 8592 function notifyScanOpener(payload) { 8593 if (window.opener && payload.type === 'accesspro-axe-scan-error') { 8594 var jobId = new URLSearchParams(window.location.search).get('acp_job'); 8595 showScanOverlay('Scan failed'); 8596 window.opener.postMessage( 8597 { 8598 type: 'accesspro-axe-scan-progress', 8599 jobId: jobId, 8600 error: payload.message || 'Accessibility scan failed', 8601 }, 8602 '*', 8603 ); 8604 setTimeout(function () { 8605 window.close(); 8606 }, 400); 8607 return; 8608 } 8609 submitScanResult(payload); 8610 } 8611 8612 var script = document.createElement('script'); 8613 // cdnjs only goes up to 4.10.3; jsDelivr serves 4.11.1 (matches accessibility-scanner). 8614 script.src = 'https://cdn.jsdelivr.net/npm/[email protected]/axe.min.js'; 8615 script.onload = function () { 8616 waitForFullPageLoad().then(runAxeScan); 8617 }; 8618 script.onerror = function () { 8619 notifyScanOpener({ 8620 type: 'accesspro-axe-scan-error', 8621 token: token, 8622 message: 'Failed to load axe-core', 8623 }); 8624 }; 8625 document.head.appendChild(script); 8626 })(); 8627</script>
8627 8628 8629 8630<style> 8631 .accesspro-icon { 8632 display: inline-flex; 8633 flex-direction: column; 8634 align-items: center; 8635 gap: 4px; 8636 cursor: pointer; 8637 text-decoration: none; 8638 vertical-align: middle; 8639 color: var(--acp-trigger-color, #23185c); 8640 } 8641 8642 /* Icon-only triggers should not reserve a text line box. */ 8643 .accesspro-icon[icon='true']:not(.acp-trigger--has-text) { 8644 line-height: 0; 8645 } 8646 8647 .accesspro-icon .asw-menu-btn-container { 8648 flex-shrink: 0; 8649 } 8650 8651 /* The cloned icon is inert; the host element is the control. */ 8652 .accesspro-icon .asw-menu-btn-container, 8653 .accesspro-icon .asw-menu-btn { 8654 pointer-events: none; 8655 } 8656</style>
8657<script> 8658 (function () { 8659 var SELECTOR = '.accesspro-icon'; 8660 var BOUND = 'acpTriggerBound'; 8661 var FILLED = 'acpTriggerFilled'; 8662 var settings = window.accessProWidgetSettings || {}; 8663 var inlineMode = !!settings.hide_floating_icon; 8664 var fallbackReady = inlineMode; 8665 document.documentElement.style.setProperty( 8666 '--acp-trigger-color', 8667 settings.icon_color_fill || '#23185c' 8668 ); 8669 8670 /* ---- open the widget ------------------------------------------------ */ 8671 /* main.js is deferred, so iconInstance may not exist on an early click. */ 8672 function openWidget(event) { 8673 if (event) event.preventDefault(); 8674 if (window.iconInstance) { 8675 window.iconInstance.toggleWidget(); 8676 return; 8677 } 8678 var waited = 0; 8679 var timer = setInterval(function () { 8680 if (window.iconInstance) { 8681 clearInterval(timer); 8682 window.iconInstance.toggleWidget(); 8683 } else if ((waited += 100) >= 10000) { 8684 clearInterval(timer); 8685 console.error('[AccessPro] Widget did not load â cannot open menu.'); 8686 } 8687 }, 100); 8688 } 8689 8690 /* ---- clone the floating icon ---------------------------------------- */ 8691 function buildIcon() { 8692 var source = document.querySelector('#Access-Pro-Icon .asw-menu-btn-container'); 8693 if (!source) return null; 8694 8695 var clone = source.cloneNode(true); 8696 8697 // Strip ids: the widget mutates apMenuIconStroke / apMenuIconFill by id 8698 // when contrast modes change, and duplicates would shadow the original. 8699 clone.removeAttribute('id'); 8700 clone.querySelectorAll('[id]').forEach(function (node) { 8701 node.removeAttribute('id'); 8702 }); 8703 8704 // The dismiss "X" and loading dots belong to the floating icon only. 8705 clone.querySelectorAll('.asw-hide-widget-icon, .acp-floating-dots').forEach(function (node) { 8706 node.remove(); 8707 }); 8708 8709 // A <button> nested inside the merchant's <a>
8709 is invalid HTML. Swap it 8710 // for a <span> carrying the same classes so the widget CSS still applies. 8711 var button = clone.querySelector('.asw-menu-btn'); 8712 if (button) { 8713 var span = document.createElement('span'); 8714 span.className = button.className; 8715 span.setAttribute('style', button.getAttribute('style') || ''); 8716 span.setAttribute('aria-hidden', 'true'); 8717 while (button.firstChild) span.appendChild(button.firstChild); 8718 button.parentNode.replaceChild(span, button); 8719 } 8720 8721 return clone; 8722 } 8723 8724 8725 /* ---- fallback: build the icon from settings ------------------------- */ 8726 /* Used when the floating icon is not in the DOM â the widget skips 8727 render() entirely if the visitor dismissed it, if a page/country filter 8728 bails out of init(), or if trigger display is set to title-only. 8729 Geometry below mirrors render() in main.js exactly. */ 8730 var GLYPHS = { 8731 default: '<svg class="asw-main-icon" xmlns="http://www.w3.org/2000/svg" fill="#ffffff" style="height: 45%; width: 45%; fill: #ffffff" viewBox="0 0 512 512" aria-hidden="true" focusable="false"><path d="M256,112a56,56,0,1,1,56-56A56.06,56.06,0,0,1,256,112Z" /><path d="M432,112.8l-.45.12h0l-.42.13c-1,.28-2,.58-3,.89-18.61,5.46-108.93,30.92-172.56,30.92-59.13,0-141.28-22-167.56-29.47a73.79,73.79,0,0,0-8-2.58c-19-5-32,14.3-32,31.94,0,17.47,15.7,25.79,31.55,31.76v.28l95.22,29.74c9.73,3.73,12.33,7.54,13.6,10.84,4.13,10.59.83,31.56-.34,38.88l-5.8,45L150.05,477.44q-.15.72-.27,1.47l-.23,1.27h0c-2.32,16.15,9.54,31.82,32,31.82,19.6,0,28.25-13.53,32-31.94h0s28-157.57,42-157.57,42.84,157.57,42.84,157.57h0c3.75,18.41,12.4,31.94,32,31.94,22.52,0,34.38-15.74,32-31.94-.21-1.38-.46-2.74-.76-4.06L329,301.27l-5.79-45c-4.19-26.21-.82-34.87.32-36.9a1.09,1.09,0,0,0,.08-.15c1.08-2,6-6.48,17.48-10.79l89.28-31.21a16.9,16.9,0,0,0,1.62-.52c16-6,32-14.3,32-31.93S451,107.81,432,112.8Z" /></svg>', 8732 wheelchair: '<svg class="asw-main-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 960 960" fill="#ffffff" aria-hidden="true" focusable="false"> <path d="M480 240q-33 0-56.5-23.5T400 160q0-33 23.5-56.5T480 80q33 0 56.5 23.5T560 160q0 33-23.5 56.5T480 240ZM680 880V680H480q-33 0-56.5-23.5T400 600V360q0-33 23.5-56.5T480 280q24 0 41.5 10.5T559 324q55 66 99.5 90.5T760 480v80q-53 0-107-23t-93-55v138h120q33 0 56.5 23.5T760 680v220h-80ZM400 880q-83 0-141.5-58.5T200 680q0-72 45.5-127T360 484v82q-35 14-57.5 44.5T280 680q0 50 35 85t85 35q39 0 69.5-22.5T514 720h82q-14 69-69 114.5T400 880Z" /> </svg>', 8733 blind: '<svg class="asw-main-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" fill="#ffffff" style="fill: #ffffff" aria-hidden="true" focusable="false"> <path d="m240-60-64-48 104-139v-213q0-31 5.5-68.5T300-596l-60 34v142h-80v-188l216-123q8-5 17-7t19-2q24 0 44 12t30 33l31 67q20 44 61 66t102 22v80h-39L860-78l-35 20-237-413q-40-13-72.5-37.5T460-568q-10 29-15.5 66.5T441-432l79 112v260h-80v-200l-71-102-9 142L240-60Zm220-700q-33 0-56.5-23.5T380-840q0-33 23.5-56.5T460-920q33 0 56.5 23.5T540-840q0 33-23.5 56.5T460-760Z" /> </svg>', 8734 eye: '<svg class="asw-main-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" fill="#ffffff" style="fill: #ffffff" aria-hidden="true" focusable="false"><path d="m644-428-58-58q9-47-27-88t-93-32l-58-58q17-8 34.5-12t37.5-4q75 0 127.5 52.5T660-500q0 20-4 37.5T644-428Zm128 126-58-56q38-29 67.5-63.5T832-500q-50-101-143.5-160.5T480-720q-29 0-57 4t-55 12l-62-62q41-17 84-25.5t90-8.5q151 0 269 83.5T920-500q-23 59-60.5 109.5T772-302Zm20 246L624-222q-35 11-70.5 16.5T480-200q-151 0-269-83.5T40-500q21-53 53-98.5t73-81.5L56-792l56-56 736 736-56 56ZM222-624q-29 26-53 57t-41 67q50 101 143.5 160.5T480-280q20 0 39-2.5t39-5.5l-36-38q-11 3-21 4.5t-21 1.5q-75 0-127.5-52.5T300-500q0-11 1.5-21t4.5-21l-84-82Zm319 93Zm-151 75Z" /></svg>', 8735 accStraight: '<svg class="asw-main-icon" xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" fill="#ffffff" style="fill: #ffffff" aria-hidden="true" focusable="false"><path d="M480-720q-33 0-56.5-23.5T400-800q0-33 23.5-56.5T480-880q33 0 56.5 23.5T560-800q0 33-23.5 56.5T480-720ZM360-80v-520H120v-80h720v80H600v520h-80v-240h-80v240h-80Z" /></svg>', 8736 settings: '<svg class="asw-main-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" fill="#ffffff" style="fill: #ffffff" aria-hidden="true" focusable="false">
8736<path d="m370-80-16-128q-13-5-24.5-12T307-235l-119 50L78-375l103-78q-1-7-1-13.5v-27q0-6.5 1-13.5L78-585l110-190 119 50q11-8 23-15t24-12l16-128h220l16 128q13 5 24.5 12t22.5 15l119-50 110 190-103 78q1 7 1 13.5v27q0 6.5-2 13.5l103 78-110 190-118-50q-11 8-23 15t-24 12L590-80H370Zm70-80h79l14-106q31-8 57.5-23.5T639-327l99 41 39-68-86-65q5-14 7-29.5t2-31.5q0-16-2-31.5t-7-29.5l86-65-39-68-99 42q-22-23-48.5-38.5T533-694l-13-106h-79l-14 106q-31 8-57.5 23.5T321-633l-99-41-39 68 86 64q-5 15-7 30t-2 32q0 16 2 31t7 30l-86 65 39 68 99-42q22 23 48.5 38.5T427-266l13 106Zm42-180q58 0 99-41t41-99q0-58-41-99t-99-41q-59 0-99.5 41T342-480q0 58 40.5 99t99.5 41Zm-2-140Z" /></svg>' 8737 }; 8738 8739 var SIZES = { 8740 small: 40, '0.5x': 40, 8741 medium: 50, '1x': 50, default: 50, 8742 large: 60, '1.5x': 60, 8743 extraLarge: 75, '2x': 75 8744 }; 8745 8746 function buildIconFromSettings() { 8747 var s = window.accessProWidgetSettings || {}; 8748 var style = s.icon_style || 'thick'; 8749 var square = s.icon_shape === 'square'; 8750 // Defaults must match mergeSettings() in main.js and DEFAULT_SETTINGS in 8751 // app/constants/settings.js â both use #23185c for stroke AND fill â so a 8752 // metafield missing these keys renders identically on either path. 8753 var stroke = s.icon_color_stroke || '#23185c'; 8754 var fill = s.icon_color_fill || '#23185c'; 8755 var px = SIZES[s.icon_size] || 50; 8756 var solid = style === 'solid'; 8757 var thin = style === 'thin'; 8758 var shapes = ''; 8759 8760 if (square) { 8761 var sizes = [ 8762 [solid ? 100 : 98, stroke, 12], 8763 [solid ? 0 : thin ? 86 : 82, '#ffffff', 10], 8764 [solid || thin ? 80 : 70, fill, 8] 8765 ];
8766 sizes.forEach(function (d) { 8767 if (!d[0]) return; 8768 var off = (100 - d[0]) / 2; 8769 shapes += '<rect x="' + off + '" y="' + off + '" width="' + d[0] + '" height="' + d[0] + 8770 '" rx="' + d[2] + '" ry="' + d[2] + '" fill="' + d[1] + '" />'; 8771 }); 8772 } else { 8773 [ 8774 [solid ? 50 : 49, stroke], 8775 [solid ? 0 : thin ? 43 : 41, '#ffffff'], 8776 [solid || thin ? 40 : 35, fill] 8777 ].forEach(function (d) { 8778 shapes += '<circle cx="50" cy="50" r="' + d[0] + '" fill="' + d[1] + '" />'; 8779 }); 8780 } 8781 8782 var name = GLYPHS[s.icon] ? s.icon : 'default'; 8783 var box = document.createElement('div'); 8784 box.className = 'asw-menu-btn-container'; 8785 box.setAttribute('style', 'position:relative;width:' + px + 'px;height:' + px + 'px;'); 8786 // The widget stylesheet may not be loaded when render() never ran, so 8787 // every layout-critical rule is inlined rather than left to the classes. 8788 box.innerHTML = 8789 '<span class="asw-menu-btn' + (square ? ' asw-menu-btn--square' : '') + '" aria-hidden="true"' + 8790 ' style="position:relative;display:flex;align-items:center;justify-content:center;' + 8791 'width:100%;height:100%;background:transparent;border:none;padding:0;margin:0;' + 8792 'border-radius:' + (square ? '12%' : '50%') + ';">' + 8793 '<svg class="asw-outer-svg" viewBox="0 0 100 100" aria-hidden="true" focusable="false"' + 8794 ' style="width:100%;height:100%;display:block;">' + shapes + '</svg>' + 8795 GLYPHS[name] + '</span>'; 8796 8797 var glyph = box.querySelector('.asw-main-icon'); 8798 if (glyph) { 8799 // .asw-main-icon sizes to 50% via CSS; the default glyph overrides to 45% inline. 8800 var pct = name === 'default' ? '45%' : '50%'; 8801 glyph.setAttribute( 8802 'style', 8803 'position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);' + 8804 'width:' + pct + ';height:' + pct + ';fill:#ffffff;z-index:100;' 8805 ); 8806 } 8807 return box; 8808 } 8809 8810 /* ---- wire one element ----------------------------------------------- */ 8811 function bind(el) { 8812 if (el.dataset[BOUND]) return; 8813 el.dataset[BOUND] = '1'; 8814 8815 el.addEventListener('click', openWidget); 8816 el.addEventListener('keydown', function (event) { 8817 if (event.key === 'Enter' || event.key === ' ') openWidget(event); 8818 }); 8819 8820 // A non-anchor host (div/span) needs explicit button semantics. 8821 var tag = el.tagName.toLowerCase(); 8822 if (tag !== 'a' && tag !== 'button') { 8823 if (!el.hasAttribute('role')) el.setAttribute('role', 'button'); 8824 if (!el.hasAttribute('tabindex')) el.setAttribute('tabindex', '0'); 8825 } 8826 8827 if (el.textContent.trim()) el.classList.add('acp-trigger--has-text'); 8828 } 8829 8830 function fillIcon(el, allowFallback) { 8831 if (el.dataset[FILLED]) return true; 8832 if (el.getAttribute('icon') !== 'true') return true; 8833 8834 // Prefer cloning the live icon; fall back to rebuilding from settings. 8835 var icon = buildIcon(); 8836 if (!icon && (allowFallback || inlineMode)) icon = buildIconFromSettings(); 8837 if (!icon) return false; 8838 8839 // The clone's size lives only in the container's inline style. If the 8840 // widget rendered without one, size it from settings so it cannot 8841 // collapse to zero height inside the merchant's layout. 8842 if (!/\bheight\s*:/.test(icon.getAttribute('style') || '')) { 8843 var px = SIZES[(window.accessProWidgetSettings || {}).icon_size] || 50; 8844 icon.style.position = 'relative'; 8845 icon.style.width = px + 'px'; 8846 icon.style.height = px + 'px'; 8847 } 8848 8849 el.insertBefore(icon, el.firstChild); 8850 el.dataset[FILLED] = '1'; 8851 8852 // Icon with no visible text needs an accessible name. 8853 if (!el.textContent.trim() && !el.hasAttribute('aria-label')) { 8854 el.setAttribute('aria-label', 'Open Accessibility Menu'); 8855 } 8856 return true; 8857 } 8858 8859 /* ---- scan ------------------------------------------------------------ */ 8860 /* Clicks are wired immediately so the trigger works before the icon 8861 renders;
8861 icons are filled in once the floating icon exists. */ 8862 var pendingIcons = false; 8863 8864 function scan(allowFallback) { 8865 pendingIcons = false; 8866 document.querySelectorAll(SELECTOR).forEach(function (el) { 8867 bind(el); 8868 if (!fillIcon(el, allowFallback)) pendingIcons = true; 8869 }); 8870 } 8871 8872 function start() { 8873 scan(inlineMode); 8874 8875 // Inline mode hides the floating icon, so build from settings immediately. 8876 if (inlineMode) { 8877 // console.log('[AccessPro] Inline triggers â using widget settings for icons'); 8878 } 8879 8880 // The floating icon only renders after the settings request resolves and 8881 // the widget chunk loads, so poll until it appears. If it never does, 8882 // stop waiting and build the icon from settings instead. 8883 var FALLBACK_AFTER = 2500; 8884 var waited = 0; 8885 var timer = setInterval(function () { 8886 if (!pendingIcons) { 8887 clearInterval(timer); 8888 return; 8889 } 8890 waited += 200; 8891 if (waited < FALLBACK_AFTER) { 8892 scan(false); 8893 return; 8894 } 8895 fallbackReady = true; 8896 clearInterval(timer); 8897 scan(true); 8898 if (pendingIcons) { 8899 console.warn('[AccessPro] Could not render inline icons.'); 8900 } 8901 }, 200); 8902 8903 // Catch triggers added later (theme editor re-renders, dynamic sections). 8904 // Debounced: the widget itself mutates the DOM heavily as it renders. 8905 if (window.MutationObserver) { 8906 var queued = false; 8907 new window.MutationObserver(function () { 8908 if (queued) return; 8909 queued = true; 8910 requestAnimationFrame(function () { 8911 queued = false; 8912 scan(fallbackReady || inlineMode); 8913 }); 8914 }).observe(document.body, { childList: true, subtree: true }); 8915 } 8916 } 8917 8918 if (document.readyState === 'loading') { 8919 document.addEventListener('DOMContentLoaded', start); 8920 } else { 8921 start(); 8922 } 8923 })(); 8924</script>
8924 8925 8926 8927</div><div id="shopify-block-AYkpjcWFINkF3RWlJV__1513253815146976218" class="shopify-block shopify-app-block"> 8928</div><div id="shopify-block-AUEZZQzZ3MjZ3a0J5a__3418223220453551085" class="shopify-block shopify-app-block"><div style="position: fixed; bottom: 0; right: 0"> 8929 <!-- BEGIN app snippet: functional-discount -->�
8929<script class="FAD-"> 8930 window.cs_FD = {}; 8931 �window.cs_FD.showBogoPopup = 0; 8932 window.cs_FD.cartRequestcall = 'https://fad.cirkleinc.com/api/cart-request'; 8933 window.cs_FD.call = '/apps/fad'; 8934 window.cs_FD.host = 'https://fad.cirkleinc.com'; 8935 window.cs_FD.upsellBar = 'https://fad.cirkleinc.com/api/get-upsell-data'; 8936 window.cs_FD.API = 'https://fad.cirkleinc.com/api/display-discount-table'; 8937 window.cs_FD.BBAPI = 'https://fad.cirkleinc.com/api/display-bundle-offer'; 8938 window.cs_FD.FBTAPI = 'https://fad.cirkleinc.com/api/display-frequently-bought'; 8939 window.cs_FD.store_name = 'ku1htv-4a.myshopify.com'; 8940 window.cs_FD.vd_url = ''; 8941 8942 window.cs_FD.need_to_update = 0;window.cs_FD.product_id = '9236777566429'; 8943 window.cs_FD.product = {"id":9236777566429,"title":"Tafida Cabernet Sauvignon","handle":"tafida-cabernet-sauvignon","description":"\u003cp class=\"uk-text-muted\"\u003e\u003ci\u003ePair this Tafida Cabernet Sauvignon wine with any savory dish and enjoy till the last drop.\u003c\/i\u003e\u003c\/p\u003e\n\u003chr\u003e\n\u003cp\u003eThis fresh vintage was an ideal growing season with the perfect conditions for bloom and fruit set. A dry winter led to a mild spring and cool summer. The extra summer fog and cloud cover allowed for an extended growing season resulting in excellent flavor concentration, good acidity, and structure.\u003c\/p\u003e\n\u003cp\u003eThe \u003ca href=\"https:\/\/www.personalwine.com\/collections\/personalized-california-wine-gifts\" title=\"Personalized California Wine Gifts\" rel=\"noopener\" target=\"_blank\"\u003eTafida California Cabernet Sauvignon\u003c\/a\u003e opens with tempting aromas of blackberry, plum, and bright fruits. Alluring flavors of ripe, red berries and tasty notes of blackcurrant and oak envelop the palate and lead to an elegantly smooth finish. Give this California Cabernet wine and add a label or engraving to the bottle.\u003c\/p\u003e\n\u003chr\u003e\n\u003cp class=\"uk-text-smaller\"\u003eCreate an amazing gift package for the wine lover in your life by pairing your red wine gifts with a \u003ca href=\"https:\/\/www.personalwine.com\/products\/custom-engraved-wine-tote-gift-bag\"\u003ecustom wine bag\u003c\/a\u003e, set of \u003ca href=\"https:\/\/www.personalwine.com\/collections\/drinkware\"\u003ecustom etched wine glasses\u003c\/a\u003e, or \u003ca href=\"https:\/\/www.personalwine.com\/collections\/wine-boxes\"\u003ehandmade wooden wine box\u003c\/a\u003e. The juice may be too delicious to hold on to, but engraved keepsakes last a lifetime.\u003c\/p\u003e","published_at":"2026-02-27T18:14:24-06:00","created_at":"2025-12-19T05:18:42-06:00","vendor":"personalwine","type":"Wine","tags":["Best Sellers","Black Friday Sale","bordeaux","Cabernet Sauvignon","California Reds","Customily","Cyber Monday Sale","Discover","Engraving","Engraving-added","Label","Label-added","Our Brands","Red","Regions","Shop","Specialty Products","Tafida Cabernet Sauvignon","Wine","Women-Owned"],"price":3500,"price_min":3500,"price_max":6500,"available":true,"price_varies":true,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":47382894444765,"title":"Label","option1":"Label","option2":null,"option3":null,"sku":"WR-TAFIDA-CS-NV","requires_shipping":true,"taxable":true,"featured_image":{"id":45790751129821,"product_id":9236777566429,"position":2,"created_at":"2025-12-24T01:14:32-06:00","updated_at":"2026-03-30T12:36:46-05:00","alt":"A bottle of Tafida Cabernet Sauvignon with a white label displaying âYour Design Hereâ in bold uppercase letters.","width":400,"height":1200,"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206","variant_ids":[47382894444765]},"available":true,"name":"Tafida Cabernet Sauvignon - Label","public_title":"Label","options":["Label"],"price":3500,"weight":1403,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":"A bottle of Tafida Cabernet Sauvignon with a white label displaying âYour Design Hereâ in bold uppercase letters.","id":37383708180701,"position":2,"preview_image":{"aspect_ratio":0.333,"height":1200,"width":400,"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47382894411997,"title":"Engraving","option1":"Engraving","option2":null,"option3":null,"sku":"WR-TAFIDA-CS-NV","requires_shipping":true,"taxable":true,"featured_image":{"id":45790750802141,"product_id":9236777566429,"position":3,"created_at":"2025-12-24T01:14:32-06:00","updated_at":"2026-03-30T12:36:46-05:00","alt":"A bottle of Tafida Cabernet Sauvignon with a blank label that says Your Design Here in bold inside a circle.","width":400,"height":1200,"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_engravedExample_1.png?v=1774892206","variant_ids":[47382894411997]},"available":true,"name":"Tafida Cabernet Sauvignon - Engraving","public_title":"Engraving","options":["Engraving"],"price":6500,"weight":1403,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":"A bottle of Tafida Cabernet Sauvignon with a blank label that says Your Design Here in bold inside a circle.","id":37383708147933,"position":3,"preview_image":{"aspect_ratio":0.333,"height":1200,"width":400,"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_engravedExample_1.png?v=1774892206"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47382894477533,"title":"None","option1":"None","option2":null,"option3":null,"sku":"WR-TAFIDA-CS-NV","requires_shipping":true,"taxable":true,"featured_image":{"id":46597580423389,"product_id":9236777566429,"position":1,"created_at":"2026-03-30T10:46:54-05:00","updated_at":"2026-03-30T10:47:07-05:00","alt":"A bottle of Tafida Cabernet Sauvignon with a bold label, shown upright against a plain background.","width":400,"height":1200,"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627","variant_ids":[47382894477533]},"available":true,"name":"Tafida Cabernet Sauvignon - None","public_title":"None","options":["None"],"price":3500,"weight":1403,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":"A bottle of Tafida Cabernet Sauvignon with a bold label, shown upright against a plain background.","id":38140946743517,"position":1,"preview_image":{"aspect_ratio":0.333,"height":1200,"width":400,"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627","\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206","\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_engravedExample_1.png?v=1774892206","\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_WineryBackLabel_ebcf364d-64b3-4c41-90b4-62ef9b8d5551.png?v=1774892206","\/\/www.personalwine.com\/cdn\/shop\/files\/2022MothersDay_Square_v2_r1_2.jpg?v=1774885627"],"featured_image":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627","options":["Choose Style"],"media":[{"alt":"A bottle of Tafida Cabernet Sauvignon with a bold label, shown upright against a plain background.","id":38140946743517,"position":1,"preview_image":{"aspect_ratio":0.333,"height":1200,"width":400,"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627"},"aspect_ratio":0.333,"height":1200,"media_type":"image","src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_WineryFrontLabel_5e1c7655-6498-46cf-9389-45ba1e167bf7.png?v=1774885627","width":400},{"alt":"A bottle of Tafida Cabernet Sauvignon with a white label displaying âYour Design Hereâ in bold uppercase letters.","id":37383708180701,"position":2,"preview_image":{"aspect_ratio":0.333,"height":1200,"width":400,"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206"},"aspect_ratio":0.333,"height":1200,"media_type":"image","src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206","width":400},{"alt":"A bottle of Tafida Cabernet Sauvignon with a blank label that says Your Design Here in bold inside a circle.","id":37383708147933,"position":3,"preview_image":{"aspect_ratio":0.333,"height":1200,"width":400,"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_engravedExample_1.png?v=1774892206"},"aspect_ratio":0.333,"height":1200,"media_type":"image","src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_engravedExample_1.png?v=1774892206","width":400},{"alt":"A Tafida Cabernet Sauvignon wine bottle with a black label, red accents, and visible engraved text.","id":37340296118493,"position":4,"preview_image":{"aspect_ratio":0.333,"height":1200,"width":400,"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_WineryBackLabel_ebcf364d-64b3-4c41-90b4-62ef9b8d5551.png?v=1774892206"},"aspect_ratio":0.333,"height":1200,"media_type":"image","src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_WineryBackLabel_ebcf364d-64b3-4c41-90b4-62ef9b8d5551.png?v=1774892206","width":400},{"alt":"Bottle of Tafida Cabernet Sauvignon with Motherâs Day label, yellow tulips, and framed photo on a table.","id":37383708115165,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2000,"width":2000,"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/2022MothersDay_Square_v2_r1_2.jpg?v=1774885627"},"aspect_ratio":1.0,"height":2000,"media_type":"image","src":"\/\/www.personalwine.com\/cdn\/shop\/files\/2022MothersDay_Square_v2_r1_2.jpg?v=1774885627","width":2000}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp class=\"uk-text-muted\"\u003e\u003ci\u003ePair this Tafida Cabernet Sauvignon wine with any savory dish and enjoy till the last drop.\u003c\/i\u003e\u003c\/p\u003e\n\u003chr\u003e\n\u003cp\u003eThis fresh vintage was an i
8943deal growing season with the perfect conditions for bloom and fruit set. A dry winter led to a mild spring and cool summer. The extra summer fog and cloud cover allowed for an extended growing season resulting in excellent flavor concentration, good acidity, and structure.\u003c\/p\u003e\n\u003cp\u003eThe \u003ca href=\"https:\/\/www.personalwine.com\/collections\/personalized-california-wine-gifts\" title=\"Personalized California Wine Gifts\" rel=\"noopener\" target=\"_blank\"\u003eTafida California Cabernet Sauvignon\u003c\/a\u003e opens with tempting aromas of blackberry, plum, and bright fruits. Alluring flavors of ripe, red berries and tasty notes of blackcurrant and oak envelop the palate and lead to an elegantly smooth finish. Give this California Cabernet wine and add a label or engraving to the bottle.\u003c\/p\u003e\n\u003chr\u003e\n\u003cp class=\"uk-text-smaller\"\u003eCreate an amazing gift package for the wine lover in your life by pairing your red wine gifts with a \u003ca href=\"https:\/\/www.personalwine.com\/products\/custom-engraved-wine-tote-gift-bag\"\u003ecustom wine bag\u003c\/a\u003e, set of \u003ca href=\"https:\/\/www.personalwine.com\/collections\/drinkware\"\u003ecustom etched wine glasses\u003c\/a\u003e, or \u003ca href=\"https:\/\/www.personalwine.com\/collections\/wine-boxes\"\u003ehandmade wooden wine box\u003c\/a\u003e. The juice may be too delicious to hold on to, but engraved keepsakes last a lifetime.\u003c\/p\u003e"}; 8944 window.cs_FD.product_variant_id = 47382894444765; 8945 window.cs_FD.col_ids = '451872030941,451877765341,451877830877,451867246813,451876618461,451825729757,455920976093,451866755293,451733913821,451876782301,451831562461,451867115741,451872587997'; 8946 window.cs_FD.col_handles = 'best-sellers,black-friday-sale,cyber-monday-sale,our-brands,discover,cabernet-sauvignon,personalized-california-wine-gifts,red-wines,shop,wine,tafida-caber
8946net-sauvignon,wine-regions,women-owned'; 8947 window.cs_FD.parameter = 0;window.cs_FD.product_handle = 'tafida-cabernet-sauvignon'; 8948 window.cs_FD.propertyIDList = ''; 8949 window.cs_FD.cartTotal = 0; 8950 window.cs_FD.customerId = 0; 8951 window.cs_FD.currency = "$"; 8952 if (typeof custom_money_format !== 'undefined' && custom_money_format) { 8953 window.cs_FD.shop_money_format = custom_money_format; 8954 } else { 8955 window.cs_FD.shop_money_format = "${{amount}}"; 8956 } 8957 window.cs_FD.variant_id = 47382894444765; 8958 window.cs_FD.proCollectionId = '451872030941,451877765341,451877830877,451867246813,451876618461,451825729757,455920976093,451866755293,451733913821,451876782301,451831562461,451867115741,451872587997'; 8959 window.cs_FD.discountFree = []; 8960 window.cs_FD.refreshCode = ''; 8961 window.cs_FD.bogo_ajax_setting = 0; 8962 8963 // This varaible create for bogo offer apply on cart page 8964 window.cs_FD.cart_collections = {} 8965 8966 8967 window.cs_FD.show_bogo = "Show Bogo"; 8968 window.cs_FD.show_bogo_message = null; 8969 window.cs_FD.show_bogo_class = null; 8970 window.cs_FD.show_bogo_message_class = null; 8971 window.cs_FD.show_bogo_message_bg_color = null; 8972 window.cs_FD.show_bogo_message_text_color = null; 8973 window.cs_FD.no_thanks_msg = "No thanks"; 8974 window.cs_FD.collection_offer = "This offer is valid for collection"; 8975 window.cs_FD.Claim = "Claim"; 8976 window.cs_FD.soldOut = "Sold out"; 8977 window.cs_FD.close_svg = '<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 40 40"><path d="M23.868 20.015L39.117 4.78c1.11-1.108 1.11-2.77 0-3.877-1.109-1.108-2.773-1.108-3.882 0L19.986 16.137 4.737.904C3.628-.204 1.965-.204.856.904c-1.11 1.108-1.11 2.77 0 3.877l15.249 15.234L.855 35.248c-1.108 1.108-1.108 2.77 0 3.877.555.554 1.248.831 1.942.831s1.386-.277 1.94-.83l15.25-15.234 15.248 15.233c.555.554 1.248.831 1.941.831s1.387-.277 1.941-.83c1.11-1.109 1.11-2.77 0-3.878L23.868 20.015z" class="layer"></path></svg>'; 8978 8979 // This Variable create for Upsell bar on page 8980 var upsell_items_class = null; 8981 window.cs_FD.last_pro_cart_collections = ""; 8982 window.cs_FD.last_pro_cart_id = ""; 8983 window.cs_FD.Showless = 'Show less'; 8984 window.cs_FD.Showmore = 'Show more'; 8985</script>
8985 8986 8987<link href="//cdn.shopify.com/extensions/01a0ccba-3cb6-7a23-87d6-176fed4fcaf3/auto-discounts-92/assets/functional-discount.css" rel="stylesheet" type="text/css" media="all" />
8988<script src="https://cdn.shopify.com/extensions/01a0ccba-3cb6-7a23-87d6-176fed4fcaf3/auto-discounts-92/assets/functional-discount.js" defer="defer"></script>
8988<script src="https://cdn.shopify.com/extensions/01a0ccba-3cb6-7a23-87d6-176fed4fcaf3/auto-discounts-92/assets/functional-discount-volume.js" defer="defer"></script>
8988<script src="https://cdn.shopify.com/extensions/01a0ccba-3cb6-7a23-87d6-176fed4fcaf3/auto-discounts-92/assets/fad-cart-refresh.js" type="module"></script>
8988<div id="CS_JSON_WRAP" style="display: none;"> 8989
8989<script type="application/json" class="CS_JSON" data-FAD=""> 8990 {"variants":[{"id":47382894444765,"title":"Label","option1":"Label","option2":null,"option3":null,"sku":"WR-TAFIDA-CS-NV","requires_shipping":true,"taxable":true,"featured_image":{"id":45790751129821,"product_id":9236777566429,"position":2,"created_at":"2025-12-24T01:14:32-06:00","updated_at":"2026-03-30T12:36:46-05:00","alt":"A bottle of Tafida Cabernet Sauvignon with a white label displaying âYour Design Hereâ in bold uppercase letters.","width":400,"height":1200,"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206","variant_ids":[47382894444765]},"available":true,"name":"Tafida Cabernet Sauvignon - Label","public_title":"Label","options":["Label"],"price":3500,"weight":1403,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":"A bottle of Tafida Cabernet Sauvignon with a white label displaying âYour Design Hereâ in bold uppercase letters.","id":37383708180701,"position":2,"preview_image":{"aspect_ratio":0.333,"height":1200,"width":400,"src":"\/\/www.personalwine.com\/cdn\/shop\/files\/WR-TAFIDA-CS-NV_labeledExample_1.png?v=1774892206"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}]} 8991 </script>
8991 8992 </div><!-- END app snippet --> 8993</div> 8994 8995</div><div id="shopify-block-AakNoTzR0N0NkN3Z2W__11532412952436166569" class="shopify-block shopify-app-block"> 8996 8997 8998 <!-- __LXV: 1790322035567;__LXR: https://loox.io;__LXC: 7CTH7_ro70; -->
8998<script>var loox_global_hash = '1790322035567'; 8999var loox_bundle_reviews_enabled = false;</script>
8999<style>.loox-reviews-default { max-width: 1200px; margin: 0 auto; }.loox-rating .loox-icon { color:#EBBF20; } 9000:root { --lxs-rating-icon-color: #EBBF20; }</style> 9001 9002 9003 9004 9005 9006
9006<script> 9007 const productLdJsonSchema = { 9008 "@context": "http://schema.org", 9009 "@type": "Product", 9010 "name": "Tafida Cabernet Sauvignon", 9011 "aggregateRating": { 9012 "@type": "AggregateRating", 9013 "ratingValue": "5.0", 9014 "reviewCount": 64 9015 } 9016 } 9017 9018 const looxAddProductLdJsonSchema = () => { 9019 const scriptEl = document.createElement('script'); 9020 scriptEl.type = 'application/ld+json'; 9021 9022 const stringifyProductLdJsonSchema = JSON.stringify(productLdJsonSchema); 9023 9024 try { 9025 scriptEl.appendChild(document.createTextNode(stringifyProductLdJsonSchema)); 9026 document.body.appendChild(scriptEl); 9027 } catch (e) { 9028 scriptEl.textContent = stringifyProductLdJsonSchema; 9029 document.body.appendChild(scriptEl); 9030 } 9031 }; 9032 9033 let productSchemaHandled = false; 9034 9035 window.addEventListener('DOMContentLoaded', () => { 9036 try { 9037 const ldJsonScripts = document.querySelectorAll("[type='application/ld+json']"); 9038 const microdataElements = document.querySelectorAll("[itemtype='https://schema.org/Product'], [itemprop='aggregateRating']"); 9039 9040 if (microdataElements.length) return; 9041 if ([...ldJsonScripts].some(({ textContent }) => JSON.parse(textContent).hasOwnProperty('aggregateRating'))) return; 9042 9043 ldJsonScripts.forEach(script => { 9044 const json = JSON.parse(script.textContent); 9045 9046 if (productSchemaHandled) return; 9047 if (json['@type'] !== 'Product' && json['@type'] !== 'ProductGroup') return; 9048 9049 json.aggregateRating = productLdJsonSchema.aggregateRating; 9050 script.textContent = JSON.stringify(json); 9051 productSchemaHandled = true; 9052 }); 9053 9054 if (!productSchemaHandled) looxAddProductLdJsonSchema(); 9055 } catch (error) { 9056 // swallow error 9057 } 9058 }); 9059 </script>
9059 9060 9061 9062 9063</div>
9063<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
9063 9064</body> 9065</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.