1(function(){"use strict";function _vpIsSi(){try{var lang=(document.documentElement.getAttribute("lang")||"").toLowerCase();if(lang.indexOf("sl")===0)return!0;var path=(location.pathname||"").toLowerCase();if(path.indexOf("/sl-si")===0||path.indexOf("/sk-si")===0)return!0;var host=(location.hostname||"").toLowerCase();if(host.indexOf("artmie.si")>=0)return!0}catch(e){}return!1}function _vpIsEl(){try{var lang=(document.documentElement.getAttribute("lang")||"").toLowerCase();if(lang.indexOf("el")===0)return!0;var path=(location.pathname||"").toLowerCase();if(path.indexOf("/el-gr")===0||path.indexOf("/sk-gr")===0)return!0;var host=(location.hostname||"").toLowerCase();if(host.indexOf("artmie.gr")>=0)return!0}catch(e){}return!1}function _vpIsIt(){try{var lang=(document.documentElement.getAttribute("lang")||"").toLowerCase();if(lang.indexOf("it")===0)return!0;var path=(location.pathname||"").toLowerCase();if(path.indexOf("/it-it")===0||path.indexOf("/sk-it")===0)return!0;var host=(location.hostname||"").toLowerCase();if(host.indexOf("artmie.it")>=0)return!0}catch(e){}return!1}var VP_I18N_SI={Zavrie\u0165:"Zapri","Pridan\xE9 do ko\u0161\xEDka":"Dodano v ko\u0161arico","Chyba pri prid\xE1van\xED":"Napaka pri dodajanju","Nepodarilo sa prida\u0165":"Dodajanje ni uspelo","Chyba: ":"Napaka: "},VP_I18N_EL={Zavrie\u0165:"\u039A\u03BB\u03B5\u03AF\u03C3\u03B9\u03BC\u03BF","Pridan\xE9 do ko\u0161\xEDka":"\u03A0\u03C1\u03BF\u03C3\u03C4\u03AD\u03B8\u03B7\u03BA\u03B5 \u03C3\u03C4\u03BF \u03BA\u03B1\u03BB\u03AC\u03B8\u03B9","Chyba pri prid\xE1van\xED":"\u03A3\u03C6\u03AC\u03BB\u03BC\u03B1 \u03BA\u03B1\u03C4\u03AC \u03C4\u03B7\u03BD \u03C0\u03C1\u03BF\u03C3\u03B8\u03AE\u03BA\u03B7","Nepodarilo sa prida\u0165":"\u0397 \u03C0\u03C1\u03BF\u03C3\u03B8\u03AE\u03BA\u03B7 \u03B1\u03C0\u03AD\u03C4\u03C5\u03C7\u03B5","Chyba: ":"\u03A3\u03C6\u03AC\u03BB\u03BC\u03B1: "},VP_I18N_IT={Zavrie\u0165:"Chiudi","Pridan\xE9 do ko\u0161\xEDka":"Aggiunto al carrello","Chyba pri prid\xE1van\xED":"Errore durante l'aggiunta","Nepodarilo sa prida\u0165":"Aggiunta non riuscita","Chyba: ":"Errore: "};function _vpT(s){return _vpIsSi()?VP_I18N_SI[s]||s:_vpIsEl()?VP_I18N_EL[s]||s:_vpIsIt()&&VP_I18N_IT[s]||s}var style=document.createElement("style");style.textContent="\n /* Overlay */\n .artmie-vp-overlay {\n position: fixed;\n inset: 0;\n z-index: 9999;\n background: rgba(0,0,0,.45);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px;\n opacity: 0;\n transition: opacity .2s ease;\n -webkit-overflow-scrolling: touch;\n }\n .artmie-vp-overlay.active { opacity: 1; }\n\n /* Panel */\n .artmie-vp-panel {\n background: #fff;\n border-radius: 16px;\n max-width: 560px;\n width: 100%;\n max-height: 85vh;\n overflow-y: auto;\n box-shadow: 0 12px 48px rgba(0,0,0,.18);\n transform: translateY(20px);\n transition: transform .25s ease;\n overscroll-behavior: contain;\n }\n .artmie-vp-overlay.active .artmie-vp-panel {\n transform: translateY(0);\n }\n\n /* Header */\n .artmie-vp-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid #eee;\n position: sticky;\n top: 0;\n background: #fff;\n z-index: 1;\n border-radius: 16px 16px 0 0;\n }\n .artmie-vp-title {\n font-size: 15px;\n font-weight: 700;\n color: #1a1a1a;\n margin: 0;\n line-height: 1.3;\n flex: 1;\n padding-right: 12px;\n }\n .artmie-vp-close {\n width: 32px;\n height: 32px;\n border: none;\n background: #f2f2f2;\n border-radius: 50%;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n transition: background .15s;\n }\n .artmie-vp-close:hover { background: #e0e0e0; }\n .artmie-vp-close svg { width: 14px; height: 14px; }\n\n /* Grid */\n .artmie-vp-grid {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 10px;\n padding: 16px;\n }\n @media (max-width: 420px) {\n .artmie-vp-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; padding: 12px; }\n }\n\n /* Variant card */\n .artmie-vp-card {\n display: flex;\n flex-direction: column;\n align-items: center;\n border: 2px solid #eee;\n border-radius: 10px;\n padding: 8px;\n cursor: pointer;\n transition: border-color .15s, box-shadow .15s;\n background: #fff;\n text-align: center;\n position: relative;\n }\n .artmie-vp-card:hover {\n border-color: #F95523;\n box-shadow: 0 2px 12px rgba(249,85,35,.12);\n }\n .artmie-vp-card.adding {\n pointer-events: none;\n opacity: .6;\n }\n .artmie-vp-card.added {\n border-color: #22c55e;\n background: #f0fdf4;\n }\n\n /* Variant image */\n .artmie-vp-img {\n width: 100%;\n aspect-ratio: 1;\n object-fit: contain;\n border-radius: 6px;\n background: #f8f8f8;\n }\n .artmie-vp-img-placeholder {\n width: 100%;\n aspect-ratio: 1;\n background: #f2f2f2;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #bbb;\n font-size: 12px;\n }\n\n /* Variant name */\n .artmie-vp-name {\n font-size: 11px;\n font-weight: 500;\n color: #333;\n margin-top: 6px;\n line-height: 1.3;\n word-break: break-word;\n }\n\n /* Variant price */\n .artmie-vp-price {\n font-size: 12px;\n font-weight: 700;\n color: #1a1a1a;\n margin-top: 3px;\n }\n\n /* Added checkmark */\n .artmie-vp-card.added::after {\n content: '\u2713';\n position: absolute;\n top: 6px;\n right: 6px;\n width: 22px;\n height: 22px;\n background: #22c55e;\n color: #fff;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 13px;\n font-weight: 700;\n }\n\n /* Loading spinner */\n .artmie-vp-loading {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n }\n .artmie-vp-spinner {\n width: 32px;\n height: 32px;\n border: 3px solid #eee;\n border-top-color: #F95523;\n border-radius: 50%;\n animation: artmie-vp-spin .6s linear infinite;\n }\n @keyframes artmie-vp-spin { to { transform: rotate(360deg); } }\n\n /* Lock body scroll */\n body.artmie-vp-open {\n overflow: hidden !important;\n }\n ",document.head.appendChild(style);var toastEl=null,toastTimer=null;function showToast(msg){if(!toastEl){var ts=document.createElement("style");ts.textContent=["#artmie-toast{"," position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);"," background:#1a1a1a;color:#fff;"," padding:18px 36px;border-radius:14px;"," font-size:17px;font-weight:700;"," box-shadow:0 8px 32px rgba(0,0,0,.28);"," z-index:99999;pointer-events:none;"," opacity:0;transition:opacity .2s ease,transform .2s ease;"," white-space:nowrap;text-align:center;","}","#artmie-toast.visible{opacity:1;transform:translate(-50%,-50%) scale(1);}"].join("\n"),document.head.appendChild(ts),toastEl=document.createElement("div"),toastEl.id="artmie-toast",document.body.appendChild(toastEl)}toastEl.textContent=msg,toastEl.classList.add("visible"),toastTimer&&clearTimeout(toastTimer),toastTimer=setTimeout(function(){toastEl.classList.remove("visible")},2e3)}var productCache={};function formatMoney(cents){var amount=(parseInt(cents,10)/100).toFixed(2).replace(".",",");return amount+" \u20AC"}function getProductHandle(card){var link=card.querySelector(".product-card__link");if(!link||!link.href)return null;var match=link.href.match(/\/products\/([^?#/]+)/);return match?match[1]:null}function _marketPrefix(){var m=(typeof window!="undefined"&&window.location&&window.location.pathname||"").match(/^(\/[a-z]{2}-[a-z]{2})\//);return m?m[1]:""}function fetchProduct(handle,callback){if(productCache[handle]){callback(null,productCache[handle]);return}var called=!1;function safeCallback(err,data){called||(called=!0,callback(err,data))}var xhr=new XMLHttpRequest;xhr.open("GET",_marketPrefix()+"/products/"+handle+".js"),xhr.timeout=5e3,xhr.onload=function(){if(xhr.status===200)try{var data=JSON.parse(xhr.responseText);productCache[handle]=data,safeCallback(null,data)}catch(e){safeCallback(e)}else safeCallback(new Error("HTTP "+xhr.status))},xhr.onerror=function(){safeCallback(new Error("Network error"))},xhr.ontimeout=function(){safeCallback(new Error("Timeout"))},xhr.send()}function addToCart(variantId,callback){fetch("/cart/add.js",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","X-Requested-With":"XMLHttpRequest"},body:JSON.stringify({items:[{id:parseInt(variantId,10),quantity:1}]})}).then(function(resp){return resp.ok?resp.json():resp.text().then(function(txt){var msg="HTTP "+resp.status;try{msg=JSON.parse(txt).description||JSON.parse(txt).message||msg}catch(e){}var err=new Error(msg);throw err.shopifyMessage=msg,err})}).then(function(data){callback(null,data)}).catch(function(err){callback(err)})}function updateCartCount(){document.querySelectorAll(".cart-count-bubble, [data-cart-count], .header__cart-count, .cart-count, .js-cart-count, [data-cart-item-count]").forEach(function(el){var current=parseInt(el.textContent,10)||0;el.textContent=current+1,el.style.display=""})}function animateIn(overlay){setTimeout(function(){overlay.classList.add("active")},20)}function showPopup(product){var realVariants=product.variants.filter(function(v2){return v2.title!=="Default Title"});if(realVariants.length===0&&product.variants.length>0){var v=product.variants[0];v.available&&addToCart(v.id,function(err){if(err){showToast("\u26A0 "+(err.shopifyMessage||_vpT("Chyba pri prid\xE1van\xED")));return}updateCartCount(),showToast("\u2713 "+_vpT("Pridan\xE9 do ko\u0161\xEDka"))});return}
1closePopup();var overlay=document.createElement("div");overlay.className="artmie-vp-overlay",overlay.setAttribute("role","dialog"),overlay.setAttribute("aria-modal","true");var panel=document.createElement("div");panel.className="artmie-vp-panel";var header=document.createElement("div");header.className="artmie-vp-header";var title=document.createElement("h3");title.className="artmie-vp-title",title.textContent=product.title;var closeBtn=document.createElement("button");closeBtn.className="artmie-vp-close",closeBtn.setAttribute("aria-label",_vpT("Zavrie\u0165")),closeBtn.innerHTML='<svg viewBox="0 0 14 14" fill="none" stroke="currentColor" stroke-width="2"><path d="M1 1l12 12M13 1L1 13"/></svg>',closeBtn.addEventListener("click",closePopup),header.appendChild(title),header.appendChild(closeBtn),panel.appendChild(header);var grid=document.createElement("div");grid.className="artmie-vp-grid",product.variants.forEach(function(variant){if(variant.title!=="Default Title"&&variant.available){var card=document.createElement("div");card.className="artmie-vp-card",card.setAttribute("data-variant-id",variant.id);var imgSrc=null;if(variant.featured_image&&variant.featured_image.src?imgSrc=variant.featured_image.src:product.featured_image&&(imgSrc=product.featured_image),imgSrc){imgSrc.indexOf("//")===0&&(imgSrc="https:"+imgSrc);var optimized=imgSrc.indexOf("?")!==-1?imgSrc.replace("?","?width=300&"):imgSrc+"?width=300",img=document.createElement("img");img.className="artmie-vp-img",img.src=optimized,img.alt=variant.title,img.loading="eager",img.onerror=function(){this.src=imgSrc},card.appendChild(img)}else{var placeholder=document.createElement("div");placeholder.className="artmie-vp-img-placeholder",placeholder.textContent="\u2014",card.appendChild(placeholder)}var name=document.createElement("span");name.className="artmie-vp-name",name.textContent=variant.title,card.appendChild(name);var price=document.createElement("span");price.className="artmie-vp-price",price.textContent=formatMoney(variant.price),card.appendChild(price),card.addEventListener("click",function(){card.classList.contains("adding")||card.classList.contains("added")||(card.classList.add("adding"),addToCart(variant.id,function(err){if(card.classList.remove("adding"),err){showToast("\u26A0 "+_vpT("Chyba: ")+(err.shopifyMessage||err.message||_vpT("Nepodarilo sa prida\u0165")));return}card.classList.add("added"),updateCartCount(),showToast("\u2713 "+_vpT("Pridan\xE9 do ko\u0161\xEDka"))}))}),grid.appendChild(card)}}),panel.appendChild(grid),overlay.appendChild(panel),document.body.appendChild(overlay),document.body.classList.add("artmie-vp-open"),animateIn(overlay),overlay.addEventListener("click",function(e){e.target===overlay&&closePopup()}),document.addEventListener("keydown",onEscape)}function onEscape(e){e.key==="Escape"&&closePopup()}function closePopup(){var overlay=document.querySelector(".artmie-vp-overlay");overlay&&(overlay.classList.remove("active"),document.body.classList.remove("artmie-vp-open"),document.removeEventListener("keydown",onEscape),setTimeout(function(){overlay.parentNode&&overlay.parentNode.removeChild(overlay)},250))}function showLoadingAndFetch(handle){closePopup();var overlay=document.createElement("div");overlay.className="artmie-vp-overlay";var panel=document.createElement("div");panel.className="artmie-vp-panel";var loading=document.createElement("div");loading.className="artmie-vp-loading";var spinner=document.createElement("div");spinner.className="artmie-vp-spinner",loading.appendChild(spinner),panel.appendChild(loading),overlay.appendChild(panel),document.body.appendChild(overlay),document.body.classList.add("artmie-vp-open"),animateIn(overlay),overlay.addEventListener("click",function(e){e.target===overlay&&closePopup()}),document.addEventListener("keydown",onEscape),fetchProduct(handle,function(err,product){if(overlay.parentNode&&overlay.parentNode.removeChild(overlay),document.body.classList.remove("artmie-vp-open"),document.removeEventListener("keydown",onEscape),err||!product){window.location.href=_marketPrefix()+"/products/"+handle;return}var usable=(product.variants||[]).filter(function(v){return v&&v.title!=="Default Title"&&v.available});if(usable.length===0){window.location.href=_marketPrefix()+"/products/"+handle;return}if(usable.length===1){addToCart(usable[0].id,function(err2){if(err2){showToast("\u26A0 "+(err2.shopifyMessage||err2.message||_vpT("Nepodarilo sa prida\u0165")));return}updateCartCount(),showToast("\u2713 "+_vpT("Pridan\xE9 do ko\u0161\xEDka"))});return}showPopup(product)})}function resolveHandleAndVariants(btn){var handle=null,variantsSize=null,card=btn.closest("product-card");if(card){var s=parseInt(card.getAttribute("data-product-variants-size"),10);isNaN(s)||(variantsSize=s),handle=getProductHandle(card)}if(!handle&&btn.getAttribute("data-product-handle")&&(handle=btn.getAttribute("data-product-handle")),variantsSize===null&&btn.getAttribute("data-product-variants-size")){var s2=parseInt(btn.getAttribute("data-product-variants-size"),10);isNaN(s2)||(variantsSize=s2)}if(!handle){var anc=btn.closest("[data-product-handle]");anc&&(handle=anc.getAttribute("data-product-handle"))}if(variantsSize===null){var ancV=btn.closest("[data-product-variants-size]");if(ancV){var s3=parseInt(ancV.getAttribute("data-product-variants-size"),10);isNaN(s3)||(variantsSize=s3)}}if(!handle){for(var container=btn.closest('[class*="product-card"], [class*="product-tile"], [class*="card"], li, article, .swiper-slide')||btn.parentElement,anchor=null;
1container&&!anchor&&(anchor=container.querySelector&&container.querySelector('a[href*="/products/"]'),!(anchor||(container=container.parentElement,container===document.body))););if(anchor){var m=(anchor.getAttribute("href")||"").match(/\/products\/([^/?#]+)/);m&&(handle=decodeURIComponent(m[1]))}}if(!handle){var form=btn.closest('form[action*="/cart/add"]');if(form){var idIn=form.querySelector('[name="id"]');idIn&&idIn.dataset&&idIn.dataset.productHandle&&(handle=idIn.dataset.productHandle)}}return{handle:handle,variantsSize:variantsSize}}window.addEventListener("click",function(e){var btn=e.target.closest(".product-card-actions__button--cart")||e.target.closest(".quick-add__button--choose");if(btn){var info=resolveHandleAndVariants(btn);info.handle&&info.variantsSize!==1&&(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),showLoadingAndFetch(info.handle))}},!0)})(); 2//# sourceMappingURL=/cdn/shop/t/41/assets/artmie-variant-popup.js.map?v=179593400194841612021782981509
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.