{"title":"Custom","description":"\u003cp\u003eΑνέβασε τη δική σου εικόνα και φτιάξε το oversized κομμάτι AέRis που θέλεις, με το σχέδιό σου μεγάλο στην πλάτη και μικρό στην καρδιά. Σχεδιασμένο στη Θεσσαλονίκη, φτιαγμένο μόνο για σένα.\u003c\/p\u003e","products":[{"product_id":"custom-tshirt","title":"Φτιάξε το δικό σου T-shirt","description":"\u003cp\u003eΈχεις μια εικόνα που σε εκφράζει; Μια φωτογραφία, ένα σκίτσο, κάτι που ζωγράφισες εσύ; Ανέβασέ τη και θα τη φτιάξουμε t-shirt, μόνο για σένα.\u003c\/p\u003e\u003cp\u003eΤο σχέδιό σου τυπώνεται \u003cstrong\u003eμεγάλο στην πλάτη\u003c\/strong\u003e και \u003cstrong\u003eμικρό στην καρδιά\u003c\/strong\u003e, πάνω στο \u003cstrong\u003eoversized\u003c\/strong\u003e t-shirt του \u003cstrong\u003eAέRis\u003c\/strong\u003e, με φαρδιά, χαλαρή γραμμή που πέφτει άνετα στους ώμους. Σχεδιασμένο στη Θεσσαλονίκη, φτιαγμένο στην Ελλάδα.\u003c\/p\u003e\u003ch3\u003eΠώς λειτουργεί\u003c\/h3\u003e\u003col\u003e\n\u003cli\u003eΔιάλεξε χρώμα και μέγεθος.\u003c\/li\u003e\n\u003cli\u003eΑνέβασε την εικόνα σου και δες αμέσως πώς θα είναι μπροστά και πίσω.\u003c\/li\u003e\n\u003cli\u003eΠρόσθεσέ το στο καλάθι. Ελέγχουμε το σχέδιο πριν την εκτύπωση και σε ενημερώνουμε αν χρειαστεί κάτι.\u003c\/li\u003e\n\u003c\/ol\u003e\u003ch3\u003eΧαρακτηριστικά\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003eOversized, unisex εφαρμογή\u003c\/li\u003e\n\u003cli\u003e100% βαμβάκι, με heavy street αίσθηση\u003c\/li\u003e\n\u003cli\u003eΨηφιακή εκτύπωση στην πλάτη και στην καρδιά\u003c\/li\u003e\n\u003cli\u003eΦτιάχνεται κατά παραγγελία, αποκλειστικά για σένα\u003c\/li\u003e\n\u003c\/ul\u003e\u003cp\u003e\u003cem\u003eΤα προσωποποιημένα κομμάτια φτιάχνονται ειδικά για σένα, γι' αυτό δεν επιστρέφονται, εκτός αν υπάρχει ελάττωμα. Ελέγχουμε κάθε σχέδιο πριν την εκτύπωση και δεν τυπώνουμε λογότυπα άλλων brands ή εικόνες για τις οποίες δεν έχεις δικαίωμα χρήσης.\u003c\/em\u003e\u003c\/p\u003e\u003cdiv class=\"acd\" id=\"acd-root\" style=\"display:none\"\u003e\n\u003cstyle\u003e\n.acd{margin:18px 0 22px;font-family:inherit}\n.acd__title{font-size:1.5rem;letter-spacing:.06em;text-transform:uppercase;margin:0 0 10px;opacity:.85}\n.acd__drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1.5px dashed rgba(0,0,0,.35);border-radius:14px;padding:22px 14px;text-align:center;cursor:pointer;background:rgba(0,0,0,.02);transition:background .2s,border-color .2s}\n.acd__drop:hover,.acd__drop.is-over{background:rgba(0,0,0,.05);border-color:#0f1115}\n.acd__drop strong{font-size:1.5rem}\n.acd__drop span{font-size:1.25rem;opacity:.7}\n.acd__file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}\n.acd__views{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}\n.acd__view{background:#f3f1ee;border-radius:14px;overflow:hidden;padding:0 0 8px;text-align:center}\n.acd__view canvas{width:100%;height:auto;display:block}\n.acd__view small{display:block;font-size:1.15rem;letter-spacing:.05em;opacity:.7;margin-top:4px}\n.acd__msg{font-size:1.3rem;margin:10px 0 0;min-height:1em}\n.acd__msg.is-error{color:#b3261e}\n.acd__msg.is-ok{color:#1d6b3a}\n.acd__change{background:none;border:0;padding:0;margin-top:8px;text-decoration:underline;cursor:pointer;font-size:1.3rem;color:inherit}\n.acd__notes{font-size:1.2rem;opacity:.72;line-height:1.5;margin:12px 0 0;padding-left:16px}\n\u003c\/style\u003e\n\u003cp class=\"acd__title\"\u003eΑνέβασε το σχέδιό σου\u003c\/p\u003e\n\u003clabel class=\"acd__drop\" for=\"acd-file\"\u003e\n\u003cstrong\u003eΔιάλεξε εικόνα\u003c\/strong\u003e\n\u003cspan\u003eή σύρε την εδώ (JPG, PNG, WEBP, έως 10MB)\u003c\/span\u003e\n\u003c\/label\u003e\n\u003cinput class=\"acd__file\" type=\"file\" id=\"acd-file\" name=\"properties[Σχέδιο]\" accept=\"image\/png,image\/jpeg,image\/webp\" data-acd-attach\u003e\n\u003cinput type=\"hidden\" name=\"properties[Θέσεις]\" value=\"Πλάτη (μεγάλο) \u0026amp; Καρδιά (μικρό)\" data-acd-attach\u003e\n\u003cinput class=\"acd__file\" type=\"file\" name=\"properties[_Προεπισκόπηση]\" data-acd-preview data-acd-attach tabindex=\"-1\" aria-hidden=\"true\"\u003e\n\u003cdiv class=\"acd__views\"\u003e\n\u003cdiv class=\"acd__view\"\u003e\n\u003ccanvas width=\"560\" height=\"700\" data-acd-front\u003e\u003c\/canvas\u003e\u003csmall\u003eΜΠΡΟΣΤΑ · ΚΑΡΔΙΑ\u003c\/small\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"acd__view\"\u003e\n\u003ccanvas width=\"560\" height=\"700\" data-acd-back\u003e\u003c\/canvas\u003e\u003csmall\u003eΠΙΣΩ · ΠΛΑΤΗ\u003c\/small\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"acd__msg\" data-acd-msg\u003e\u003c\/p\u003e\n\u003cul class=\"acd__notes\"\u003e\n\u003cli\u003eΤο σχέδιό σου τυπώνεται μεγάλο στην πλάτη και μικρό στην καρδιά.\u003c\/li\u003e\n\u003cli\u003eΕλέγχουμε κάθε σχέδιο πριν την εκτύπωση και σε ενημερώνουμε αν χρειαστεί κάτι.\u003c\/li\u003e\n\u003cli\u003eΓια καθαρό αποτέλεσμα, προτίμησε εικόνα τουλάχιστον 1500px.\u003c\/li\u003e\n\u003cli\u003eΤα προσωποποιημένα κομμάτια φτιάχνονται μόνο για σένα και δεν επιστρέφονται.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cscript\u003e\n(function(){\nvar root=document.getElementById('acd-root');\nif(!root||root.dataset.ready)return; root.dataset.ready='1';\nvar kind=\/hoodie\/.test(location.pathname)?'hoodie':'tee';\nvar fileInput=root.querySelector('#acd-file');\nvar prevInput=root.querySelector('[data-acd-preview]');\nvar drop=root.querySelector('.acd__drop');\nvar msg=root.querySelector('[data-acd-msg]');\nvar cvF=root.querySelector('[data-acd-front]'), cvB=root.querySelector('[data-acd-back]');\nvar userImg=null;\nvar CDN='https:\/\/cdn.shopify.com\/s\/files\/1\/0967\/8035\/3883\/files\/';\nvar SLUG={'μαύρο':'mavro','λευκό':'lefko','μπεζ':'mpez','λιλά':'lila','πετρόλ':'petrol','φυστικί':'fystiki','ροζ':'roz','κυπαρίσσι':'kyparissi','φουξ':'foux','κίτρινο':'kitrino','μπανανί':'kitrino'};\nvar DARK={mavro:1,petrol:1,kyparissi:1,foux:1};\nvar AREA={tee:{w:1080,heart:[630,430,100,100],back:[390,400,300,370]},hoodie:{w:1122,heart:[620,650,90,90],back:[405,610,320,380]}};\nvar cache={};\nfunction currentSlug(){\nvar name='';\ndocument.querySelectorAll('variant-radios input:checked, variant-selects input:checked, variant-selects select, variant-radios select, .product-form__input input:checked, .product-form__input select').forEach(function(el){\nvar fs=el.closest('fieldset,.product-form__input');\nvar legend=fs?((fs.querySelector('legend,label')||{}).textContent||''):'';\nvar v=(el.value||'').trim().toLowerCase();\nif(\/χρώμα|color\/i.test(legend)) name=v; else if(!name\u0026\u0026SLUG[v]) name=v;\n});\nreturn SLUG[name]||(kind==='hoodie'?'mpez':'mavro');\n}\nfunction load(src){ if(cache[src])return cache[src]; cache[src]=new Promise(function(res,rej){ var i=new Image(); i.crossOrigin='anonymous'; i.onload=function(){res(i)}; i.onerror=rej; i.src=src; }); return cache[src]; }\nfunction drawView(cv,photo,area,slug,isHeart){\nvar ctx=cv.getContext('2d'), k=cv.width\/photo.naturalWidth;\nctx.clearRect(0,0,cv.width,cv.height); ctx.drawImage(photo,0,0,cv.width,photo.naturalHeight*k);\nvar bx=area[0]*k,by=area[1]*k,bw=area[2]*k,bh=area[3]*k;\nif(userImg){ var r=Math.min(bw\/userImg.width,bh\/userImg.height),w=userImg.width*r,h=userImg.height*r; ctx.drawImage(userImg,bx+(bw-w)\/2,by+(isHeart?(bh-h)\/2:0),w,h); }\nelse { ctx.save(); ctx.setLineDash([6,5]); ctx.lineWidth=2; ctx.strokeStyle=DARK[slug]?'rgba(255,255,255,.6)':'rgba(0,0,0,.35)'; ctx.strokeRect(bx,by,bw,bh); ctx.restore(); }\n}\nvar seq=0;\nfunction render(){\nvar my=++seq, slug=currentSlug(), pre=kind==='hoodie'?'hoodie':'tee', A=AREA[kind];\nPromise.all([load(CDN+pre+'-blank-front-'+slug+'.jpg'),load(CDN+pre+'-blank-back-'+slug+'.jpg')]).then(function(p){\nif(my!==seq)return;\ndrawView(cvF,p[0],A.heart,slug,true); drawView(cvB,p[1],A.back,slug,false);\nif(userImg) buildPreviewFile();\n}).catch(function(){});\n}\nfunction buildPreviewFile(){\nif(!window.DataTransfer)return;\ntry{\nvar c=document.createElement('canvas'); c.width=cvF.width*2; c.height=cvF.height;\nvar x=c.getContext('2d'); x.drawImage(cvF,0,0); x.drawImage(cvB,cvF.width,0);\nc.toBlob(function(b){ if(!b)return; try{ var dt=new DataTransfer(); dt.items.add(new File([b],'aeris-preview.jpg',{type:'image\/jpeg'})); prevInput.files=dt.files; }catch(e){} },'image\/jpeg',0.88);\n}catch(e){}\n}\nfunction setMsg(t,cls){ msg.textContent=t; msg.className='acd__msg'+(cls?' '+cls:''); }\nfunction handle(file){\nif(!file)return;\nif(!\/^image\\\/(png|jpe?g|webp)$\/i.test(file.type)){ setMsg('Ανέβασε εικόνα JPG, PNG ή WEBP.','is-error'); fileInput.value=''; return; }\nif(file.size\u003e10*1024*1024){ setMsg('Η εικόνα είναι πάνω από 10MB. Δοκίμασε μια μικρότερη.','is-error'); fileInput.value=''; return; }\nvar img=new Image();\nimg.onload=function(){\nuserImg=img; render();\nvar small=Math.min(img.width,img.height)\u003c1000;\nsetMsg(small?'Η εικόνα είναι μικρή ('+img.width+'×'+img.height+'px) και μπορεί να τυπωθεί θολή. Αν έχεις μεγαλύτερη, προτίμησέ την.':'Τέλεια! Δες πώς θα είναι και πρόσθεσέ το στο καλάθι.', small?'is-error':'is-ok');\ndrop.querySelector('strong').textContent='Άλλαξε εικόνα';\n};\nimg.onerror=function(){ setMsg('Δεν μπορέσαμε να διαβάσουμε την εικόνα. Δοκίμασε άλλη.','is-error'); };\nimg.src=URL.createObjectURL(file);\n}\nfileInput.addEventListener('change',function(){ handle(fileInput.files[0]); });\n['dragenter','dragover'].forEach(function(e){ drop.addEventListener(e,function(ev){ev.preventDefault();drop.classList.add('is-over');}); });\n['dragleave','drop'].forEach(function(e){ drop.addEventListener(e,function(ev){ev.preventDefault();drop.classList.remove('is-over');}); });\ndrop.addEventListener('drop',function(ev){ var f=ev.dataTransfer.files[0]; if(!f)return; try{ var dt=new DataTransfer(); dt.items.add(f); fileInput.files=dt.files; }catch(e){} handle(f); });\ndocument.addEventListener('change',function(ev){ if(ev.target.closest\u0026\u0026ev.target.closest('variant-radios,variant-selects,.product-form__input'))setTimeout(render,60); });\ndocument.addEventListener('submit',function(ev){\nif(!ev.target.getAttribute||ev.target.getAttribute('id')!==root.dataset.formId)return;\nif(!fileInput.files||!fileInput.files.length){\nev.preventDefault(); ev.stopImmediatePropagation();\nsetMsg('Ανέβασε πρώτα το σχέδιό σου για να το προσθέσεις στο καλάθι.','is-error');\nroot.scrollIntoView({behavior:'smooth',block:'center'});\n}\n},true);\nfunction init(){\nvar f=document.querySelector('form[id^=\"product-form-template\"][id$=\"__main\"]')||document.querySelector('product-form form[action*=\"\/cart\/add\"]');\nif(f){ root.dataset.formId=f.getAttribute('id'); f.setAttribute('enctype','multipart\/form-data');\nroot.querySelectorAll('[data-acd-attach]').forEach(function(el){el.setAttribute('form',f.getAttribute('id'));});\nvar pf=f.closest('product-form')||f; pf.parentNode.insertBefore(root,pf); }\nroot.style.display=''; render();}\nif(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',init);}else{init();}\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e\n","brand":"Aeris","offers":[{"title":"Μαύρο \/ S","offer_id":54204137177435,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Μαύρο \/ M","offer_id":54204137210203,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Μαύρο \/ L","offer_id":54204137242971,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Μαύρο \/ XL","offer_id":54204137275739,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Μαύρο \/ 2XL","offer_id":54204137308507,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Λευκό \/ S","offer_id":54204137341275,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Λευκό \/ M","offer_id":54204137374043,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":false},{"title":"Λευκό \/ L","offer_id":54204137406811,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Λευκό \/ XL","offer_id":54204137439579,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Λευκό \/ 2XL","offer_id":54204137472347,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Μπεζ \/ S","offer_id":54204280865115,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Μπεζ \/ M","offer_id":54204280897883,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Μπεζ \/ L","offer_id":54204280930651,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Μπεζ \/ XL","offer_id":54204280963419,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Μπεζ \/ 2XL","offer_id":54204280996187,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Λιλά \/ S","offer_id":54204281028955,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Λιλά \/ M","offer_id":54204281061723,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Λιλά \/ L","offer_id":54204281094491,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Λιλά \/ XL","offer_id":54204281127259,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Λιλά \/ 2XL","offer_id":54204281160027,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Πετρόλ \/ S","offer_id":54204281192795,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Πετρόλ \/ M","offer_id":54204281225563,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Πετρόλ \/ L","offer_id":54204281258331,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Πετρόλ \/ XL","offer_id":54204281291099,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Πετρόλ \/ 2XL","offer_id":54204281323867,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0967\/8035\/3883\/files\/custom-tee-v2-back-mavro.jpg?v=1790524467"},{"product_id":"custom-hoodie","title":"Φτιάξε το δικό σου Hoodie","description":"\u003cp\u003eΈχεις μια εικόνα που σε εκφράζει; Μια φωτογραφία, ένα σκίτσο, κάτι που ζωγράφισες εσύ; Ανέβασέ τη και θα τη φτιάξουμε hoodie, μόνο για σένα.\u003c\/p\u003e\u003cp\u003eΤο σχέδιό σου τυπώνεται \u003cstrong\u003eμεγάλο στην πλάτη\u003c\/strong\u003e και \u003cstrong\u003eμικρό στην καρδιά\u003c\/strong\u003e, πάνω στο \u003cstrong\u003eoversized\u003c\/strong\u003e hoodie του \u003cstrong\u003eAέRis\u003c\/strong\u003e: αφράτο, ζεστό, με τσέπη καγκουρό και φαρδιά γραμμή. Σχεδιασμένο στη Θεσσαλονίκη, φτιαγμένο στην Ελλάδα.\u003c\/p\u003e\u003ch3\u003eΠώς λειτουργεί\u003c\/h3\u003e\u003col\u003e\n\u003cli\u003eΔιάλεξε χρώμα και μέγεθος.\u003c\/li\u003e\n\u003cli\u003eΑνέβασε την εικόνα σου και δες αμέσως πώς θα είναι μπροστά και πίσω.\u003c\/li\u003e\n\u003cli\u003eΠρόσθεσέ το στο καλάθι. Ελέγχουμε το σχέδιο πριν την εκτύπωση και σε ενημερώνουμε αν χρειαστεί κάτι.\u003c\/li\u003e\n\u003c\/ol\u003e\u003ch3\u003eΧαρακτηριστικά\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003eOversized, unisex εφαρμογή\u003c\/li\u003e\n\u003cli\u003eΚουκούλα και τσέπη καγκουρό\u003c\/li\u003e\n\u003cli\u003eΨηφιακή εκτύπωση στην πλάτη και στην καρδιά\u003c\/li\u003e\n\u003cli\u003eΦτιάχνεται κατά παραγγελία, αποκλειστικά για σένα\u003c\/li\u003e\n\u003c\/ul\u003e\u003cp\u003e\u003cem\u003eΤα προσωποποιημένα κομμάτια φτιάχνονται ειδικά για σένα, γι' αυτό δεν επιστρέφονται, εκτός αν υπάρχει ελάττωμα. Ελέγχουμε κάθε σχέδιο πριν την εκτύπωση και δεν τυπώνουμε λογότυπα άλλων brands ή εικόνες για τις οποίες δεν έχεις δικαίωμα χρήσης.\u003c\/em\u003e\u003c\/p\u003e\u003cdiv class=\"acd\" id=\"acd-root\" style=\"display:none\"\u003e\n\u003cstyle\u003e\n.acd{margin:18px 0 22px;font-family:inherit}\n.acd__title{font-size:1.5rem;letter-spacing:.06em;text-transform:uppercase;margin:0 0 10px;opacity:.85}\n.acd__drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1.5px dashed rgba(0,0,0,.35);border-radius:14px;padding:22px 14px;text-align:center;cursor:pointer;background:rgba(0,0,0,.02);transition:background .2s,border-color .2s}\n.acd__drop:hover,.acd__drop.is-over{background:rgba(0,0,0,.05);border-color:#0f1115}\n.acd__drop strong{font-size:1.5rem}\n.acd__drop span{font-size:1.25rem;opacity:.7}\n.acd__file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}\n.acd__views{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}\n.acd__view{background:#f3f1ee;border-radius:14px;overflow:hidden;padding:0 0 8px;text-align:center}\n.acd__view canvas{width:100%;height:auto;display:block}\n.acd__view small{display:block;font-size:1.15rem;letter-spacing:.05em;opacity:.7;margin-top:4px}\n.acd__msg{font-size:1.3rem;margin:10px 0 0;min-height:1em}\n.acd__msg.is-error{color:#b3261e}\n.acd__msg.is-ok{color:#1d6b3a}\n.acd__change{background:none;border:0;padding:0;margin-top:8px;text-decoration:underline;cursor:pointer;font-size:1.3rem;color:inherit}\n.acd__notes{font-size:1.2rem;opacity:.72;line-height:1.5;margin:12px 0 0;padding-left:16px}\n\u003c\/style\u003e\n\u003cp class=\"acd__title\"\u003eΑνέβασε το σχέδιό σου\u003c\/p\u003e\n\u003clabel class=\"acd__drop\" for=\"acd-file\"\u003e\n\u003cstrong\u003eΔιάλεξε εικόνα\u003c\/strong\u003e\n\u003cspan\u003eή σύρε την εδώ (JPG, PNG, WEBP, έως 10MB)\u003c\/span\u003e\n\u003c\/label\u003e\n\u003cinput class=\"acd__file\" type=\"file\" id=\"acd-file\" name=\"properties[Σχέδιο]\" accept=\"image\/png,image\/jpeg,image\/webp\" data-acd-attach\u003e\n\u003cinput type=\"hidden\" name=\"properties[Θέσεις]\" value=\"Πλάτη (μεγάλο) \u0026amp; Καρδιά (μικρό)\" data-acd-attach\u003e\n\u003cinput class=\"acd__file\" type=\"file\" name=\"properties[_Προεπισκόπηση]\" data-acd-preview data-acd-attach tabindex=\"-1\" aria-hidden=\"true\"\u003e\n\u003cdiv class=\"acd__views\"\u003e\n\u003cdiv class=\"acd__view\"\u003e\n\u003ccanvas width=\"560\" height=\"700\" data-acd-front\u003e\u003c\/canvas\u003e\u003csmall\u003eΜΠΡΟΣΤΑ · ΚΑΡΔΙΑ\u003c\/small\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"acd__view\"\u003e\n\u003ccanvas width=\"560\" height=\"700\" data-acd-back\u003e\u003c\/canvas\u003e\u003csmall\u003eΠΙΣΩ · ΠΛΑΤΗ\u003c\/small\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"acd__msg\" data-acd-msg\u003e\u003c\/p\u003e\n\u003cul class=\"acd__notes\"\u003e\n\u003cli\u003eΤο σχέδιό σου τυπώνεται μεγάλο στην πλάτη και μικρό στην καρδιά.\u003c\/li\u003e\n\u003cli\u003eΕλέγχουμε κάθε σχέδιο πριν την εκτύπωση και σε ενημερώνουμε αν χρειαστεί κάτι.\u003c\/li\u003e\n\u003cli\u003eΓια καθαρό αποτέλεσμα, προτίμησε εικόνα τουλάχιστον 1500px.\u003c\/li\u003e\n\u003cli\u003eΤα προσωποποιημένα κομμάτια φτιάχνονται μόνο για σένα και δεν επιστρέφονται.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cscript\u003e\n(function(){\nvar root=document.getElementById('acd-root');\nif(!root||root.dataset.ready)return; root.dataset.ready='1';\nvar kind=\/hoodie\/.test(location.pathname)?'hoodie':'tee';\nvar fileInput=root.querySelector('#acd-file');\nvar prevInput=root.querySelector('[data-acd-preview]');\nvar drop=root.querySelector('.acd__drop');\nvar msg=root.querySelector('[data-acd-msg]');\nvar cvF=root.querySelector('[data-acd-front]'), cvB=root.querySelector('[data-acd-back]');\nvar userImg=null;\nvar CDN='https:\/\/cdn.shopify.com\/s\/files\/1\/0967\/8035\/3883\/files\/';\nvar SLUG={'μαύρο':'mavro','λευκό':'lefko','μπεζ':'mpez','λιλά':'lila','πετρόλ':'petrol','φυστικί':'fystiki','ροζ':'roz','κυπαρίσσι':'kyparissi','φουξ':'foux','κίτρινο':'kitrino','μπανανί':'kitrino'};\nvar DARK={mavro:1,petrol:1,kyparissi:1,foux:1};\nvar AREA={tee:{w:1080,heart:[630,430,100,100],back:[390,400,300,370]},hoodie:{w:1122,heart:[620,650,90,90],back:[405,610,320,380]}};\nvar cache={};\nfunction currentSlug(){\nvar name='';\ndocument.querySelectorAll('variant-radios input:checked, variant-selects input:checked, variant-selects select, variant-radios select, .product-form__input input:checked, .product-form__input select').forEach(function(el){\nvar fs=el.closest('fieldset,.product-form__input');\nvar legend=fs?((fs.querySelector('legend,label')||{}).textContent||''):'';\nvar v=(el.value||'').trim().toLowerCase();\nif(\/χρώμα|color\/i.test(legend)) name=v; else if(!name\u0026\u0026SLUG[v]) name=v;\n});\nreturn SLUG[name]||(kind==='hoodie'?'mpez':'mavro');\n}\nfunction load(src){ if(cache[src])return cache[src]; cache[src]=new Promise(function(res,rej){ var i=new Image(); i.crossOrigin='anonymous'; i.onload=function(){res(i)}; i.onerror=rej; i.src=src; }); return cache[src]; }\nfunction drawView(cv,photo,area,slug,isHeart){\nvar ctx=cv.getContext('2d'), k=cv.width\/photo.naturalWidth;\nctx.clearRect(0,0,cv.width,cv.height); ctx.drawImage(photo,0,0,cv.width,photo.naturalHeight*k);\nvar bx=area[0]*k,by=area[1]*k,bw=area[2]*k,bh=area[3]*k;\nif(userImg){ var r=Math.min(bw\/userImg.width,bh\/userImg.height),w=userImg.width*r,h=userImg.height*r; ctx.drawImage(userImg,bx+(bw-w)\/2,by+(isHeart?(bh-h)\/2:0),w,h); }\nelse { ctx.save(); ctx.setLineDash([6,5]); ctx.lineWidth=2; ctx.strokeStyle=DARK[slug]?'rgba(255,255,255,.6)':'rgba(0,0,0,.35)'; ctx.strokeRect(bx,by,bw,bh); ctx.restore(); }\n}\nvar seq=0;\nfunction render(){\nvar my=++seq, slug=currentSlug(), pre=kind==='hoodie'?'hoodie':'tee', A=AREA[kind];\nPromise.all([load(CDN+pre+'-blank-front-'+slug+'.jpg'),load(CDN+pre+'-blank-back-'+slug+'.jpg')]).then(function(p){\nif(my!==seq)return;\ndrawView(cvF,p[0],A.heart,slug,true); drawView(cvB,p[1],A.back,slug,false);\nif(userImg) buildPreviewFile();\n}).catch(function(){});\n}\nfunction buildPreviewFile(){\nif(!window.DataTransfer)return;\ntry{\nvar c=document.createElement('canvas'); c.width=cvF.width*2; c.height=cvF.height;\nvar x=c.getContext('2d'); x.drawImage(cvF,0,0); x.drawImage(cvB,cvF.width,0);\nc.toBlob(function(b){ if(!b)return; try{ var dt=new DataTransfer(); dt.items.add(new File([b],'aeris-preview.jpg',{type:'image\/jpeg'})); prevInput.files=dt.files; }catch(e){} },'image\/jpeg',0.88);\n}catch(e){}\n}\nfunction setMsg(t,cls){ msg.textContent=t; msg.className='acd__msg'+(cls?' '+cls:''); }\nfunction handle(file){\nif(!file)return;\nif(!\/^image\\\/(png|jpe?g|webp)$\/i.test(file.type)){ setMsg('Ανέβασε εικόνα JPG, PNG ή WEBP.','is-error'); fileInput.value=''; return; }\nif(file.size\u003e10*1024*1024){ setMsg('Η εικόνα είναι πάνω από 10MB. Δοκίμασε μια μικρότερη.','is-error'); fileInput.value=''; return; }\nvar img=new Image();\nimg.onload=function(){\nuserImg=img; render();\nvar small=Math.min(img.width,img.height)\u003c1000;\nsetMsg(small?'Η εικόνα είναι μικρή ('+img.width+'×'+img.height+'px) και μπορεί να τυπωθεί θολή. Αν έχεις μεγαλύτερη, προτίμησέ την.':'Τέλεια! Δες πώς θα είναι και πρόσθεσέ το στο καλάθι.', small?'is-error':'is-ok');\ndrop.querySelector('strong').textContent='Άλλαξε εικόνα';\n};\nimg.onerror=function(){ setMsg('Δεν μπορέσαμε να διαβάσουμε την εικόνα. Δοκίμασε άλλη.','is-error'); };\nimg.src=URL.createObjectURL(file);\n}\nfileInput.addEventListener('change',function(){ handle(fileInput.files[0]); });\n['dragenter','dragover'].forEach(function(e){ drop.addEventListener(e,function(ev){ev.preventDefault();drop.classList.add('is-over');}); });\n['dragleave','drop'].forEach(function(e){ drop.addEventListener(e,function(ev){ev.preventDefault();drop.classList.remove('is-over');}); });\ndrop.addEventListener('drop',function(ev){ var f=ev.dataTransfer.files[0]; if(!f)return; try{ var dt=new DataTransfer(); dt.items.add(f); fileInput.files=dt.files; }catch(e){} handle(f); });\ndocument.addEventListener('change',function(ev){ if(ev.target.closest\u0026\u0026ev.target.closest('variant-radios,variant-selects,.product-form__input'))setTimeout(render,60); });\ndocument.addEventListener('submit',function(ev){\nif(!ev.target.getAttribute||ev.target.getAttribute('id')!==root.dataset.formId)return;\nif(!fileInput.files||!fileInput.files.length){\nev.preventDefault(); ev.stopImmediatePropagation();\nsetMsg('Ανέβασε πρώτα το σχέδιό σου για να το προσθέσεις στο καλάθι.','is-error');\nroot.scrollIntoView({behavior:'smooth',block:'center'});\n}\n},true);\nfunction init(){\nvar f=document.querySelector('form[id^=\"product-form-template\"][id$=\"__main\"]')||document.querySelector('product-form form[action*=\"\/cart\/add\"]');\nif(f){ root.dataset.formId=f.getAttribute('id'); f.setAttribute('enctype','multipart\/form-data');\nroot.querySelectorAll('[data-acd-attach]').forEach(function(el){el.setAttribute('form',f.getAttribute('id'));});\nvar pf=f.closest('product-form')||f; pf.parentNode.insertBefore(root,pf); }\nroot.style.display=''; render();}\nif(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',init);}else{init();}\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e\n","brand":"Aeris","offers":[{"title":"Μπεζ \/ S-M","offer_id":54204137668955,"sku":null,"price":59.0,"currency_code":"EUR","in_stock":false},{"title":"Μπεζ \/ L-XL","offer_id":54204137701723,"sku":null,"price":59.0,"currency_code":"EUR","in_stock":true},{"title":"Μπεζ \/ XXL-XXXL","offer_id":54204137734491,"sku":null,"price":59.0,"currency_code":"EUR","in_stock":true},{"title":"Μαύρο \/ S-M","offer_id":54204137767259,"sku":null,"price":59.0,"currency_code":"EUR","in_stock":true},{"title":"Μαύρο \/ L-XL","offer_id":54204137800027,"sku":null,"price":59.0,"currency_code":"EUR","in_stock":false},{"title":"Μαύρο \/ XXL-XXXL","offer_id":54204137832795,"sku":null,"price":59.0,"currency_code":"EUR","in_stock":true},{"title":"Φυστικί \/ S-M","offer_id":54204137865563,"sku":null,"price":59.0,"currency_code":"EUR","in_stock":true},{"title":"Φυστικί \/ L-XL","offer_id":54204137898331,"sku":null,"price":59.0,"currency_code":"EUR","in_stock":true},{"title":"Φυστικί \/ XXL-XXXL","offer_id":54204137931099,"sku":null,"price":59.0,"currency_code":"EUR","in_stock":true},{"title":"Ροζ \/ S-M","offer_id":54204137963867,"sku":null,"price":59.0,"currency_code":"EUR","in_stock":false},{"title":"Ροζ \/ L-XL","offer_id":54204137996635,"sku":null,"price":59.0,"currency_code":"EUR","in_stock":false},{"title":"Ροζ \/ XXL-XXXL","offer_id":54204138029403,"sku":null,"price":59.0,"currency_code":"EUR","in_stock":true},{"title":"Κυπαρίσσι \/ S-M","offer_id":54204138062171,"sku":null,"price":59.0,"currency_code":"EUR","in_stock":true},{"title":"Κυπαρίσσι \/ L-XL","offer_id":54204138094939,"sku":null,"price":59.0,"currency_code":"EUR","in_stock":true},{"title":"Κυπαρίσσι \/ XXL-XXXL","offer_id":54204138127707,"sku":null,"price":59.0,"currency_code":"EUR","in_stock":true},{"title":"Φουξ \/ S-M","offer_id":54204281356635,"sku":null,"price":59.0,"currency_code":"EUR","in_stock":true},{"title":"Φουξ \/ L-XL","offer_id":54204281389403,"sku":null,"price":59.0,"currency_code":"EUR","in_stock":true},{"title":"Φουξ \/ XXL-XXXL","offer_id":54204281422171,"sku":null,"price":59.0,"currency_code":"EUR","in_stock":true},{"title":"Μπανανί \/ S-M","offer_id":54204299084123,"sku":null,"price":59.0,"currency_code":"EUR","in_stock":true},{"title":"Μπανανί \/ L-XL","offer_id":54204299116891,"sku":null,"price":59.0,"currency_code":"EUR","in_stock":true},{"title":"Μπανανί \/ XXL-XXXL","offer_id":54204299149659,"sku":null,"price":59.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0967\/8035\/3883\/files\/custom-hoodie-v2-back-mpez.jpg?v=1790524469"}],"url":"https:\/\/www.aerishistory.com\/en\/collections\/custom.oembed","provider":"Aeris","version":"1.0","type":"link"}