Išsiuntimas tą pačią dieną

Užsisakykite iki 14 val. ir jūsų užsakymas bus išsiųstas tą pačią dieną

Saugūs mokėjimai

Naudojame tik patikimas mokėjimo formas

Nemokamas pristatymas nuo £ 450

Už pristatymą nieko nemokėsite - tai mūsų dovana jums!

Aukšta kokybė

Kruopščiai atrinkti pakuotei skirti produktai

Pristatymas vos per 24 valandas

Saugūs mokėjimai

Nemokamas pristatymas nuo £ 450

#gfSearchBtn:hover svg { color: #FA3C7A; } #gfSearchOverlay { display:none;position:fixed;top:0;left:0;width:100%;height:100%; background:rgba(0,0,0,0.5);z-index:9999999; } #gfSearchPanel { background:#fff;padding:15px;box-shadow:0 4px 20px rgba(0,0,0,0.15); max-height:80vh;overflow-y:auto; } #gfSearchPanel .gfH { display:flex;align-items:center;gap:10px; } #gfSearchPanel .gfH form { flex:1;position:relative; } #gfSearchPanel .gfH input[type="search"] { width:100%;padding:14px 15px 14px 44px;border:1px solid #ddd; border-radius:8px;font-size:16px;outline:none;background:#f9f9f9; box-sizing:border-box;-webkit-appearance:none; } #gfSearchPanel .gfH input[type="search"]:focus { border-color:#333;background:#fff; } #gfSearchPanel .gfH .gfIco { position:absolute;left:14px;top:50%;transform:translateY(-50%);pointer-events:none; } #gfSearchPanel .gfX { background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:10px;line-height:1; } #gfSearchPanel .gfR { max-height:55vh;overflow-y:auto;margin-top:10px; } #gfSearchPanel .gfR a { display:flex;align-items:center;gap:12px;padding:10px 8px; text-decoration:none;color:#333;border-bottom:1px solid #f0f0f0;border-radius:6px; } #gfSearchPanel .gfR a:last-child { border-bottom:none; } #gfSearchPanel .gfR a:hover, #gfSearchPanel .gfR a:active { background:#f5f5f5; } #gfSearchPanel .gfR img { width:50px;height:50px;object-fit:cover;border-radius:6px;flex-shrink:0; } #gfSearchPanel .gfR .gfT { font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; } #gfSearchPanel .gfR .gfP { font-size:13px;color:#888;margin-top:2px; } #gfSearchPanel .gfR .gfMsg { padding:15px 8px;color:#999;font-size:14px;text-align:center; } @media(max-width:767px){ #gfSearchPanel { padding:12px; max-height:90vh; } #gfSearchPanel .gfR img { width:45px;height:45px; } } (function(){ /* Stwórz overlay dynamicznie w body */ var ov = document.createElement('div'); ov.id = 'gfSearchOverlay'; ov.innerHTML = '
'; document.body.appendChild(ov); var input = ov.querySelector('input[type="search"]'); var results = ov.querySelector('.gfR'); var closeBtn = ov.querySelector('.gfX'); var timer; var dict = { 'ribbon':'wstążka','ribbons':'wstążki','satin':'satyna','satin ribbon':'wstążka satynowa', 'grosgrain':'ryps','chiffon':'szyfon','organza':'organza', 'paper':'papier','wrapping paper':'papier florystyczny','tissue paper':'papier', 'foil':'folia','film':'folia','cellophane':'celofan','wrapping':'pakowanie', 'bag':'torba','bags':'torby','gift bag':'torba ozdobna','paper bag':'torba papierowa', 'box':'pudełko','boxes':'pudełka','gift box':'pudełko dekoracyjne', 'flower':'kwiat','flowers':'kwiaty','floral':'florystyczny','florist':'florystyczny', 'bouquet':'bukiet','bouquets':'bukiety', 'vending machine':'kwiatomat','vending':'kwiatomat', 'aqua box':'aquabox','water box':'aquabox', 'cooler':'chłodziarka','fridge':'chłodziarka','refrigerator':'chłodziarka','cooling':'chłodziarka', 'decoration':'dekoracja','decorative':'dekoracyjne','ornament':'ozdoba', 'accessory':'akcesoria','accessories':'akcesoria','supplies':'akcesoria', 'pink':'różowy','red':'czerwony','white':'biały','black':'czarny', 'gold':'złoty','silver':'srebrny','blue':'niebieski','green':'zielony', 'purple':'fioletowy','yellow':'żółty','beige':'beżowy','brown':'brązowy', 'transparent':'przezroczysty','matte':'matowy','glossy':'błyszczący', 'band':'wstążka','bänder':'wstążki','satinband':'wstążka satynowa', 'schleifenband':'wstążka','ripsband':'wstążka rypsowa', 'seidenpapier':'papier','packpapier':'papier florystyczny', 'folie':'folia','zellophan':'celofan','verpackung':'pakowanie', 'tasche':'torba','taschen':'torby','geschenktasche':'torba ozdobna', 'schachtel':'pudełko','karton':'pudełko','geschenkbox':'pudełko dekoracyjne', 'blume':'kwiat','blumen':'kwiaty','floristik':'florystyczny', 'blumenstrauss':'bukiet','strauss':'bukiet', 'blumenautomat':'kwiatomat','automat':'kwiatomat', 'kühlschrank':'chłodziarka','kühler':'chłodziarka', 'dekoration':'dekoracja','schmuck':'ozdoba','zubehör':'akcesoria', 'rosa':'różowy','rot':'czerwony','weiss':'biały','schwarz':'czarny', 'blau':'niebieski','grün':'zielony','lila':'fioletowy','gelb':'żółty', 'ruban':'wstążka','rubans':'wstążki', 'sac':'torba','sacs':'torby','boîte':'pudełko','boite':'pudełko','coffret':'pudełko dekoracyjne', 'fleur':'kwiat','fleurs':'kwiaty', 'distributeur':'kwiatomat','réfrigérateur':'chłodziarka', 'blanc':'biały','noir':'czarny','rouge':'czerwony','vert':'zielony','jaune':'żółty', 'cinta':'wstążka','cintas':'wstążki','papel':'papier', 'bolsa':'torba','bolsas':'torby','caja':'pudełko','cajas':'pudełka', 'flor':'kwiat','flores':'kwiaty','ramo':'bukiet', 'enfriador':'chłodziarka','nevera':'chłodziarka', 'nastro':'wstążka','nastri':'wstążki','carta':'papier', 'borsa':'torba','borse':'torby','scatola':'pudełko','scatole':'pudełka', 'fiore':'kwiat','fiori':'kwiaty','mazzo':'bukiet', 'frigorifero':'chłodziarka', 'стрічка':'wstążka','стрічки':'wstążki','лента':'wstążka','ленты':'wstążki', 'папір':'papier','бумага':'papier','плівка':'folia','плёнка':'folia', 'сумка':'torba','пакет':'torba','коробка':'pudełko','коробки':'pudełka', 'квітка':'kwiat','квіти':'kwiaty','цветок':'kwiat','цветы':'kwiaty', 'букет':'bukiet','холодильник':'chłodziarka', 'stuha':'wstążka','stuhy':'wstążki','taška':'torba','krabice':'pudełko', 'květina':'kwiat','květiny':'kwiaty','kvetina':'kwiat','kvetiny':'kwiaty', 'chladnička':'chłodziarka','chladička':'chłodziarka' }; function getLang(){ var c=document.cookie.match(/googtrans=\/[a-z]{2}\/([a-z]{2})/); if(c)return c[1]; var p=window.location.pathname.match(/^\/(en|de|fr|es|it|nl|cs|sk|uk|ru|pt|sv|da|no|fi|hu|ro)\//); if(p)return p[1]; return 'pl'; } var lang=getLang(); var ph={'pl':'Szukaj produktów…','en':'Search products…','de':'Produkte suchen…','fr':'Rechercher…','es':'Buscar…','it':'Cerca…','uk':'Шукати…','ru':'Искать…'}; var nr={'pl':'Brak wyników','en':'No results','de':'Keine Ergebnisse','fr':'Aucun résultat','es':'Sin resultados','it':'Nessun risultato','ru':'Нет результатов','uk':'Немає результатів'}; input.placeholder=ph[lang]||ph['en']; function translate(q){ var l=q.toLowerCase().trim(); if(dict[l])return dict[l]; var w=l.split(/\s+/),t=[],any=false; w.forEach(function(word){ if(dict[word]){t.push(dict[word]);any=true;} else{ var f=false; Object.keys(dict).forEach(function(k){ if(!f&&(k.indexOf(word)===0||word.indexOf(k)===0)){t.push(dict[k]);any=true;f=true;} }); if(!f)t.push(word); } }); return any?t.join(' '):null; } function search(q){ return fetch('https://gfsklep.pl/wp-json/wc/store/v1/products?search='+encodeURIComponent(q)+'&per_page=6') .then(function(r){return r.json();}) .then(function(d){return Array.isArray(d)?d:[];}); } function render(data){ if(!data.length){results.innerHTML='
'+(nr[lang]||nr['en'])+'
';return;} var h=''; data.forEach(function(p){ var img=p.images&&p.images.length?p.images[0].thumbnail||p.images[0].src:''; var price=p.prices?(parseInt(p.prices.price)/100).toFixed(2).replace('.',',')+' '+(p.prices.currency_symbol||'zł'):''; h+=''; if(img)h+=''; h+='
'+p.name+'
'; if(price)h+='
'+price+'
'; h+='
'; }); results.innerHTML=h; setTimeout(function(){if(typeof GTranslateFireEvent==='function')GTranslateFireEvent('pageshow',window);},150); } function open(){ov.style.display='block';document.body.style.overflow='hidden';setTimeout(function(){input.focus();},50);} function close(){ov.style.display='none';document.body.style.overflow='';input.value='';results.innerHTML='';} /* Podpinaj event do WSZYSTKICH przycisków lupki (Elementor może mieć duplikaty) */ function bindToggles(){ document.querySelectorAll('#gfSearchBtn').forEach(function(btn){ btn.onclick=function(e){e.preventDefault();e.stopPropagation();open();}; }); } bindToggles(); /* Na wypadek gdyby Elementor doładował header z opóźnieniem */ setTimeout(bindToggles, 1000); setTimeout(bindToggles, 3000); closeBtn.onclick=function(){close();}; ov.onclick=function(e){if(e.target===ov)close();}; document.addEventListener('keydown',function(e){if(e.key==='Escape')close();}); input.addEventListener('input',function(){ clearTimeout(timer); var q=this.value.trim(); if(q.length<2){results.innerHTML='';return;} results.innerHTML='
'; timer=setTimeout(function(){ search(q).then(function(d){ if(d.length){render(d);return;} var tr=translate(q); if(tr&&tr.toLowerCase()!==q.toLowerCase()){ search(tr).then(function(d2){render(d2);}); } else { var words=q.toLowerCase().split(/\s+/),all=[]; words.forEach(function(w){if(dict[w])all.push(dict[w]);}); if(all.length){ Promise.all(all.map(function(t){return search(t);})).then(function(ra){ var m=[],s={}; ra.forEach(function(a){a.forEach(function(p){if(!s[p.id]){s[p.id]=1;m.push(p);}});}); render(m.slice(0,6)); }); } else render([]); } }).catch(function(){results.innerHTML='
';}); },300); }); })();
.gf-search-wrapper { display: inline-flex; align-items: center; justify-content: center; position: relative; cursor: pointer; height: 100%; vertical-align: middle; line-height: 1; } .gf-search-toggle { display: block; width: 28px; height: 28px; color: inherit; transition: color 0.2s, opacity 0.2s; } .gf-search-toggle:hover { opacity: 1; color: #FA3C7A; } .gf-search-dropdown { position: absolute; right: 0; top: calc(100% + 12px); z-index: 99999; width: 360px; background: #fff; border-radius: 8px; box-shadow: 0 4px 20px rgba(0,0,0,0.15); padding: 12px; animation: gfSearchFadeIn 0.25s ease; } .gf-search-input-wrap { position: relative; } .gf-search-input-wrap input[type="search"] { width: 100%; padding: 12px 15px 12px 42px; border: 1px solid #ddd; border-radius: 6px; font-size: 15px; outline: none; background: #f9f9f9; transition: border-color 0.2s; box-sizing: border-box; } .gf-search-input-wrap input[type="search"]:focus { border-color: #333; background: #fff; } .gf-search-input-icon { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); pointer-events: none; } .gf-search-results { max-height: 350px; overflow-y: auto; } .gf-search-results a { display: flex; align-items: center; gap: 12px; padding: 10px 8px; text-decoration: none; color: #333; border-bottom: 1px solid #f0f0f0; transition: background 0.15s; border-radius: 6px; } .gf-search-results a:last-child { border-bottom: none; } .gf-search-results a:hover { background: #f5f5f5; } .gf-search-results img { width: 50px; height: 50px; object-fit: cover; border-radius: 6px; flex-shrink: 0; } .gf-search-results .gf-result-info { flex: 1; min-width: 0; } .gf-search-results .gf-result-title { font-size: 14px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .gf-search-results .gf-result-price { font-size: 13px; color: #888; margin-top: 2px; } .gf-search-results .gf-no-results, .gf-search-results .gf-searching { padding: 15px 8px; color: #999; font-size: 14px; text-align: center; } @keyframes gfSearchFadeIn { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } } document.addEventListener('DOMContentLoaded', function() { var wrapper = document.querySelector('.gf-search-wrapper'); var toggle = document.querySelector('.gf-search-toggle'); var dropdown = document.querySelector('.gf-search-dropdown'); var form = dropdown.querySelector('.gf-search-form'); var input = dropdown.querySelector('input[type="search"]'); var results = dropdown.querySelector('.gf-search-results'); var debounceTimer; /* ========== SŁOWNIK TŁUMACZEŃ ========== */ var dictionary = { /* EN */ 'ribbon': 'wstążka', 'ribbons': 'wstążki', 'satin': 'satyna', 'satin ribbon': 'wstążka satynowa', 'grosgrain': 'ryps', 'chiffon': 'szyfon', 'organza': 'organza', 'paper': 'papier', 'wrapping paper': 'papier florystyczny', 'tissue paper': 'papier', 'foil': 'folia', 'film': 'folia', 'cellophane': 'celofan', 'wrapping': 'pakowanie', 'bag': 'torba', 'bags': 'torby', 'gift bag': 'torba ozdobna', 'paper bag': 'torba papierowa', 'box': 'pudełko', 'boxes': 'pudełka', 'gift box': 'pudełko dekoracyjne', 'hat box': 'pudełko', 'flower': 'kwiat', 'flowers': 'kwiaty', 'floral': 'florystyczny', 'florist': 'florystyczny', 'bouquet': 'bukiet', 'bouquets': 'bukiety', 'vending machine': 'kwiatomat', 'flower machine': 'kwiatomat', 'vending': 'kwiatomat', 'aqua box': 'aquabox', 'water box': 'aquabox', 'cooler': 'chłodziarka', 'fridge': 'chłodziarka', 'refrigerator': 'chłodziarka', 'cooling': 'chłodziarka', 'decoration': 'dekoracja', 'decorative': 'dekoracyjne', 'ornament': 'ozdoba', 'accessory': 'akcesoria', 'accessories': 'akcesoria', 'supplies': 'akcesoria', 'pink': 'różowy', 'red': 'czerwony', 'white': 'biały', 'black': 'czarny', 'gold': 'złoty', 'silver': 'srebrny', 'blue': 'niebieski', 'green': 'zielony', 'purple': 'fioletowy', 'yellow': 'żółty', 'beige': 'beżowy', 'brown': 'brązowy', 'transparent': 'przezroczysty', 'matte': 'matowy', 'glossy': 'błyszczący', /* DE */ 'band': 'wstążka', 'bänder': 'wstążki', 'satinband': 'wstążka satynowa', 'schleifenband': 'wstążka', 'ripsband': 'wstążka rypsowa', 'papier': 'papier', 'seidenpapier': 'papier', 'packpapier': 'papier florystyczny', 'folie': 'folia', 'zellophan': 'celofan', 'verpackung': 'pakowanie', 'tasche': 'torba', 'taschen': 'torby', 'geschenktasche': 'torba ozdobna', 'schachtel': 'pudełko', 'karton': 'pudełko', 'geschenkbox': 'pudełko dekoracyjne', 'blume': 'kwiat', 'blumen': 'kwiaty', 'floristik': 'florystyczny', 'blumenstrauss': 'bukiet', 'strauss': 'bukiet', 'blumenautomat': 'kwiatomat', 'automat': 'kwiatomat', 'kühlschrank': 'chłodziarka', 'kühler': 'chłodziarka', 'kühlung': 'chłodziarka', 'dekoration': 'dekoracja', 'schmuck': 'ozdoba', 'zubehör': 'akcesoria', 'rosa': 'różowy', 'rot': 'czerwony', 'weiss': 'biały', 'schwarz': 'czarny', 'blau': 'niebieski', 'grün': 'zielony', 'lila': 'fioletowy', 'gelb': 'żółty', /* FR */ 'ruban': 'wstążka', 'rubans': 'wstążki', 'ruban satin': 'wstążka satynowa', 'papier': 'papier', 'papier floral': 'papier florystyczny', 'film': 'folia', 'cellophane': 'celofan', 'emballage': 'pakowanie', 'sac': 'torba', 'sacs': 'torby', 'sac cadeau': 'torba ozdobna', 'boîte': 'pudełko', 'boite': 'pudełko', 'coffret': 'pudełko dekoracyjne', 'fleur': 'kwiat', 'fleurs': 'kwiaty', 'floral': 'florystyczny', 'distributeur': 'kwiatomat', 'réfrigérateur': 'chłodziarka', 'refroidisseur': 'chłodziarka', 'blanc': 'biały', 'noir': 'czarny', 'rouge': 'czerwony', 'bleu': 'niebieski', 'vert': 'zielony', 'jaune': 'żółty', 'violet': 'fioletowy', /* ES */ 'cinta': 'wstążka', 'cintas': 'wstążki', 'cinta de raso': 'wstążka satynowa', 'papel': 'papier', 'papel floral': 'papier florystyczny', 'bolsa': 'torba', 'bolsas': 'torby', 'caja': 'pudełko', 'cajas': 'pudełka', 'flor': 'kwiat', 'flores': 'kwiaty', 'ramo': 'bukiet', 'enfriador': 'chłodziarka', 'nevera': 'chłodziarka', 'blanco': 'biały', 'negro': 'czarny', 'rojo': 'czerwony', 'azul': 'niebieski', /* IT */ 'nastro': 'wstążka', 'nastri': 'wstążki', 'nastro di raso': 'wstążka satynowa', 'carta': 'papier', 'carta floreale': 'papier florystyczny', 'borsa': 'torba', 'borse': 'torby', 'scatola': 'pudełko', 'scatole': 'pudełka', 'fiore': 'kwiat', 'fiori': 'kwiaty', 'mazzo': 'bukiet', 'frigorifero': 'chłodziarka', 'raffreddatore': 'chłodziarka', 'bianco': 'biały', 'nero': 'czarny', 'rosso': 'czerwony', /* UK/RU */ 'стрічка': 'wstążka', 'стрічки': 'wstążki', 'лента': 'wstążka', 'ленты': 'wstążki', 'папір': 'papier', 'бумага': 'papier', 'плівка': 'folia', 'плёнка': 'folia', 'торба': 'torba', 'сумка': 'torba', 'пакет': 'torba', 'коробка': 'pudełko', 'коробки': 'pudełka', 'квітка': 'kwiat', 'квіти': 'kwiaty', 'цветок': 'kwiat', 'цветы': 'kwiaty', 'букет': 'bukiet', 'букети': 'bukiety', 'холодильник': 'chłodziarka', 'охолоджувач': 'chłodziarka', /* CZ/SK */ 'stuha': 'wstążka', 'stuhy': 'wstążki', 'saténová stuha': 'wstążka satynowa', 'taška': 'torba', 'tašky': 'torby', 'krabice': 'pudełko', 'květina': 'kwiat', 'květiny': 'kwiaty', 'kvetina': 'kwiat', 'kvetiny': 'kwiaty', 'chladnička': 'chłodziarka', 'chladička': 'chłodziarka' }; /* ========== WYKRYJ JĘZYK ========== */ function getGtLang() { var cookie = document.cookie.match(/googtrans=\/[a-z]{2}\/([a-z]{2})/); if (cookie) return cookie[1]; var path = window.location.pathname.match(/^\/(en|de|fr|es|it|nl|cs|sk|uk|ru|pt|sv|da|no|fi|hu|ro|bg|hr|lt|lv|et|sl|el|ja|ko|zh|ar|tr|he|th|vi|id|ms)\//); if (path) return path[1]; return 'pl'; } var lang = getGtLang(); var placeholders = { 'pl': 'Szukaj produktów…', 'en': 'Search products…', 'de': 'Produkte suchen…', 'fr': 'Rechercher…', 'es': 'Buscar productos…', 'it': 'Cerca prodotti…', 'nl': 'Zoek producten…', 'cs': 'Hledat…', 'sk': 'Hľadať…', 'uk': 'Шукати…', 'ru': 'Искать…' }; input.placeholder = placeholders[lang] || placeholders['en']; var noResultsText = { 'pl': 'Brak wyników', 'en': 'No results', 'de': 'Keine Ergebnisse', 'fr': 'Aucun résultat', 'es': 'Sin resultados', 'it': 'Nessun risultato', 'ru': 'Нет результатов', 'uk': 'Немає результатів' }; /* ========== TŁUMACZ ZAPYTANIE ========== */ function translateQuery(query) { var lower = query.toLowerCase().trim(); /* Sprawdź pełne frazy */ if (dictionary[lower]) return dictionary[lower]; /* Sprawdź słowo po słowie */ var words = lower.split(/\s+/); var translated = []; var anyTranslated = false; words.forEach(function(word) { if (dictionary[word]) { translated.push(dictionary[word]); anyTranslated = true; } else { /* Szukaj częściowego dopasowania */ var found = false; Object.keys(dictionary).forEach(function(key) { if (!found && (key.indexOf(word) === 0 || word.indexOf(key) === 0)) { translated.push(dictionary[key]); anyTranslated = true; found = true; } }); if (!found) translated.push(word); } }); return anyTranslated ? translated.join(' ') : null; } /* ========== SZUKAJ ========== */ function searchProducts(query) { return fetch('https://gfsklep.pl/wp-json/wc/store/v1/products?search=' + encodeURIComponent(query) + '&per_page=6') .then(function(r) { return r.json(); }) .then(function(data) { return Array.isArray(data) ? data : []; }); } function renderResults(data) { if (!data.length) { results.innerHTML = '
' + (noResultsText[lang] || noResultsText['en']) + '
'; return; } var html = ''; data.forEach(function(product) { var img = product.images && product.images.length ? product.images[0].thumbnail || product.images[0].src : ''; var price = product.prices ? (parseInt(product.prices.price) / 100).toFixed(2).replace('.', ',') + ' ' + (product.prices.currency_symbol || 'zł') : ''; html += ''; if (img) html += ''; html += '
'; html += '
' + product.name + '
'; if (price) html += '
' + price + '
'; html += '
'; }); results.innerHTML = html; /* Pozwól GTranslate przetłumaczyć nazwy */ setTimeout(function() { if (typeof GTranslateFireEvent === 'function') { GTranslateFireEvent('pageshow', window); } }, 150); } /* ========== OTWÓRZ / ZAMKNIJ ========== */ toggle.addEventListener('click', function(e) { e.stopPropagation(); var open = dropdown.style.display === 'block'; dropdown.style.display = open ? 'none' : 'block'; if (!open) { input.value = ''; results.innerHTML = ''; input.focus(); } }); document.addEventListener('click', function(e) { if (!wrapper.contains(e.target)) { dropdown.style.display = 'none'; } }); /* ========== LIVE SEARCH ========== */ input.addEventListener('input', function() { clearTimeout(debounceTimer); var query = this.value.trim(); if (query.length < 2) { results.innerHTML = ''; return; } results.innerHTML = '
'; debounceTimer = setTimeout(function() { /* Najpierw szukaj bezpośrednio */ searchProducts(query).then(function(data) { if (data.length) { renderResults(data); return; } /* Brak wyników — spróbuj słownik */ var translated = translateQuery(query); if (translated && translated.toLowerCase() !== query.toLowerCase()) { searchProducts(translated).then(function(data2) { renderResults(data2); }); } else { /* Ostatnia próba — szukaj każde słowo osobno */ var words = query.toLowerCase().split(/\s+/); var allTranslated = []; words.forEach(function(w) { if (dictionary[w]) allTranslated.push(dictionary[w]); }); if (allTranslated.length) { var promises = allTranslated.map(function(t) { return searchProducts(t); }); Promise.all(promises).then(function(resultsArr) { var merged = []; var seen = {}; resultsArr.forEach(function(arr) { arr.forEach(function(p) { if (!seen[p.id]) { seen[p.id] = true; merged.push(p); } }); }); renderResults(merged.slice(0, 6)); }); } else { renderResults([]); } } }).catch(function() { results.innerHTML = '
'; }); }, 300); }); });
#gfSearchBtn:hover svg { color: #FA3C7A; } #gfSearchOverlay { display:none;position:fixed;top:0;left:0;width:100%;height:100%; background:rgba(0,0,0,0.5);z-index:9999999; } #gfSearchPanel { background:#fff;padding:15px;box-shadow:0 4px 20px rgba(0,0,0,0.15); max-height:80vh;overflow-y:auto; } #gfSearchPanel .gfH { display:flex;align-items:center;gap:10px; } #gfSearchPanel .gfH form { flex:1;position:relative; } #gfSearchPanel .gfH input[type="search"] { width:100%;padding:14px 15px 14px 44px;border:1px solid #ddd; border-radius:8px;font-size:16px;outline:none;background:#f9f9f9; box-sizing:border-box;-webkit-appearance:none; } #gfSearchPanel .gfH input[type="search"]:focus { border-color:#333;background:#fff; } #gfSearchPanel .gfH .gfIco { position:absolute;left:14px;top:50%;transform:translateY(-50%);pointer-events:none; } #gfSearchPanel .gfX { background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:10px;line-height:1; } #gfSearchPanel .gfR { max-height:55vh;overflow-y:auto;margin-top:10px; } #gfSearchPanel .gfR a { display:flex;align-items:center;gap:12px;padding:10px 8px; text-decoration:none;color:#333;border-bottom:1px solid #f0f0f0;border-radius:6px; } #gfSearchPanel .gfR a:last-child { border-bottom:none; } #gfSearchPanel .gfR a:hover, #gfSearchPanel .gfR a:active { background:#f5f5f5; } #gfSearchPanel .gfR img { width:50px;height:50px;object-fit:cover;border-radius:6px;flex-shrink:0; } #gfSearchPanel .gfR .gfT { font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; } #gfSearchPanel .gfR .gfP { font-size:13px;color:#888;margin-top:2px; } #gfSearchPanel .gfR .gfMsg { padding:15px 8px;color:#999;font-size:14px;text-align:center; } @media(max-width:767px){ #gfSearchPanel { padding:12px; max-height:90vh; } #gfSearchPanel .gfR img { width:45px;height:45px; } } (function(){ /* Stwórz overlay dynamicznie w body */ var ov = document.createElement('div'); ov.id = 'gfSearchOverlay'; ov.innerHTML = '
'; document.body.appendChild(ov); var input = ov.querySelector('input[type="search"]'); var results = ov.querySelector('.gfR'); var closeBtn = ov.querySelector('.gfX'); var timer; var dict = { 'ribbon':'wstążka','ribbons':'wstążki','satin':'satyna','satin ribbon':'wstążka satynowa', 'grosgrain':'ryps','chiffon':'szyfon','organza':'organza', 'paper':'papier','wrapping paper':'papier florystyczny','tissue paper':'papier', 'foil':'folia','film':'folia','cellophane':'celofan','wrapping':'pakowanie', 'bag':'torba','bags':'torby','gift bag':'torba ozdobna','paper bag':'torba papierowa', 'box':'pudełko','boxes':'pudełka','gift box':'pudełko dekoracyjne', 'flower':'kwiat','flowers':'kwiaty','floral':'florystyczny','florist':'florystyczny', 'bouquet':'bukiet','bouquets':'bukiety', 'vending machine':'kwiatomat','vending':'kwiatomat', 'aqua box':'aquabox','water box':'aquabox', 'cooler':'chłodziarka','fridge':'chłodziarka','refrigerator':'chłodziarka','cooling':'chłodziarka', 'decoration':'dekoracja','decorative':'dekoracyjne','ornament':'ozdoba', 'accessory':'akcesoria','accessories':'akcesoria','supplies':'akcesoria', 'pink':'różowy','red':'czerwony','white':'biały','black':'czarny', 'gold':'złoty','silver':'srebrny','blue':'niebieski','green':'zielony', 'purple':'fioletowy','yellow':'żółty','beige':'beżowy','brown':'brązowy', 'transparent':'przezroczysty','matte':'matowy','glossy':'błyszczący', 'band':'wstążka','bänder':'wstążki','satinband':'wstążka satynowa', 'schleifenband':'wstążka','ripsband':'wstążka rypsowa', 'seidenpapier':'papier','packpapier':'papier florystyczny', 'folie':'folia','zellophan':'celofan','verpackung':'pakowanie', 'tasche':'torba','taschen':'torby','geschenktasche':'torba ozdobna', 'schachtel':'pudełko','karton':'pudełko','geschenkbox':'pudełko dekoracyjne', 'blume':'kwiat','blumen':'kwiaty','floristik':'florystyczny', 'blumenstrauss':'bukiet','strauss':'bukiet', 'blumenautomat':'kwiatomat','automat':'kwiatomat', 'kühlschrank':'chłodziarka','kühler':'chłodziarka', 'dekoration':'dekoracja','schmuck':'ozdoba','zubehör':'akcesoria', 'rosa':'różowy','rot':'czerwony','weiss':'biały','schwarz':'czarny', 'blau':'niebieski','grün':'zielony','lila':'fioletowy','gelb':'żółty', 'ruban':'wstążka','rubans':'wstążki', 'sac':'torba','sacs':'torby','boîte':'pudełko','boite':'pudełko','coffret':'pudełko dekoracyjne', 'fleur':'kwiat','fleurs':'kwiaty', 'distributeur':'kwiatomat','réfrigérateur':'chłodziarka', 'blanc':'biały','noir':'czarny','rouge':'czerwony','vert':'zielony','jaune':'żółty', 'cinta':'wstążka','cintas':'wstążki','papel':'papier', 'bolsa':'torba','bolsas':'torby','caja':'pudełko','cajas':'pudełka', 'flor':'kwiat','flores':'kwiaty','ramo':'bukiet', 'enfriador':'chłodziarka','nevera':'chłodziarka', 'nastro':'wstążka','nastri':'wstążki','carta':'papier', 'borsa':'torba','borse':'torby','scatola':'pudełko','scatole':'pudełka', 'fiore':'kwiat','fiori':'kwiaty','mazzo':'bukiet', 'frigorifero':'chłodziarka', 'стрічка':'wstążka','стрічки':'wstążki','лента':'wstążka','ленты':'wstążki', 'папір':'papier','бумага':'papier','плівка':'folia','плёнка':'folia', 'сумка':'torba','пакет':'torba','коробка':'pudełko','коробки':'pudełka', 'квітка':'kwiat','квіти':'kwiaty','цветок':'kwiat','цветы':'kwiaty', 'букет':'bukiet','холодильник':'chłodziarka', 'stuha':'wstążka','stuhy':'wstążki','taška':'torba','krabice':'pudełko', 'květina':'kwiat','květiny':'kwiaty','kvetina':'kwiat','kvetiny':'kwiaty', 'chladnička':'chłodziarka','chladička':'chłodziarka' }; function getLang(){ var c=document.cookie.match(/googtrans=\/[a-z]{2}\/([a-z]{2})/); if(c)return c[1]; var p=window.location.pathname.match(/^\/(en|de|fr|es|it|nl|cs|sk|uk|ru|pt|sv|da|no|fi|hu|ro)\//); if(p)return p[1]; return 'pl'; } var lang=getLang(); var ph={'pl':'Szukaj produktów…','en':'Search products…','de':'Produkte suchen…','fr':'Rechercher…','es':'Buscar…','it':'Cerca…','uk':'Шукати…','ru':'Искать…'}; var nr={'pl':'Brak wyników','en':'No results','de':'Keine Ergebnisse','fr':'Aucun résultat','es':'Sin resultados','it':'Nessun risultato','ru':'Нет результатов','uk':'Немає результатів'}; input.placeholder=ph[lang]||ph['en']; function translate(q){ var l=q.toLowerCase().trim(); if(dict[l])return dict[l]; var w=l.split(/\s+/),t=[],any=false; w.forEach(function(word){ if(dict[word]){t.push(dict[word]);any=true;} else{ var f=false; Object.keys(dict).forEach(function(k){ if(!f&&(k.indexOf(word)===0||word.indexOf(k)===0)){t.push(dict[k]);any=true;f=true;} }); if(!f)t.push(word); } }); return any?t.join(' '):null; } function search(q){ return fetch('https://gfsklep.pl/wp-json/wc/store/v1/products?search='+encodeURIComponent(q)+'&per_page=6') .then(function(r){return r.json();}) .then(function(d){return Array.isArray(d)?d:[];}); } function render(data){ if(!data.length){results.innerHTML='
'+(nr[lang]||nr['en'])+'
';return;} var h=''; data.forEach(function(p){ var img=p.images&&p.images.length?p.images[0].thumbnail||p.images[0].src:''; var price=p.prices?(parseInt(p.prices.price)/100).toFixed(2).replace('.',',')+' '+(p.prices.currency_symbol||'zł'):''; h+=''; if(img)h+=''; h+='
'+p.name+'
'; if(price)h+='
'+price+'
'; h+='
'; }); results.innerHTML=h; setTimeout(function(){if(typeof GTranslateFireEvent==='function')GTranslateFireEvent('pageshow',window);},150); } function open(){ov.style.display='block';document.body.style.overflow='hidden';setTimeout(function(){input.focus();},50);} function close(){ov.style.display='none';document.body.style.overflow='';input.value='';results.innerHTML='';} /* Podpinaj event do WSZYSTKICH przycisków lupki (Elementor może mieć duplikaty) */ function bindToggles(){ document.querySelectorAll('#gfSearchBtn').forEach(function(btn){ btn.onclick=function(e){e.preventDefault();e.stopPropagation();open();}; }); } bindToggles(); /* Na wypadek gdyby Elementor doładował header z opóźnieniem */ setTimeout(bindToggles, 1000); setTimeout(bindToggles, 3000); closeBtn.onclick=function(){close();}; ov.onclick=function(e){if(e.target===ov)close();}; document.addEventListener('keydown',function(e){if(e.key==='Escape')close();}); input.addEventListener('input',function(){ clearTimeout(timer); var q=this.value.trim(); if(q.length<2){results.innerHTML='';return;} results.innerHTML='
'; timer=setTimeout(function(){ search(q).then(function(d){ if(d.length){render(d);return;} var tr=translate(q); if(tr&&tr.toLowerCase()!==q.toLowerCase()){ search(tr).then(function(d2){render(d2);}); } else { var words=q.toLowerCase().split(/\s+/),all=[]; words.forEach(function(w){if(dict[w])all.push(dict[w]);}); if(all.length){ Promise.all(all.map(function(t){return search(t);})).then(function(ra){ var m=[],s={}; ra.forEach(function(a){a.forEach(function(p){if(!s[p.id]){s[p.id]=1;m.push(p);}});}); render(m.slice(0,6)); }); } else render([]); } }).catch(function(){results.innerHTML='
';}); },300); }); })();

Papildoma informacija

Svoris 0,5 kg
Išmatavimai 38 × 13 × 38 cm
Medžiaga

Popierius

Spalva

balta, juoda, rožinė

Dydis

13 x 12,5 x 15 cm

Kiekis

10 vienetų / rinkinys

Išskirtiniai modernaus dizaino popieriniai maišeliai su kontrastinga apdaila ir tvirta rankena. Puikiai tinka gėlėms eksponuoti, dovanoms pakuoti ir ypatingoms progoms. Pagaminti iš patvaraus popieriaus, įvairių dydžių ir elegantiškų spalvų derinių: juodos, rožinės, baltos su aukso akcentais.

Dekoratyvinė rankinė DHGPBJ-BH-P7 | 13 x 12,5 x 15 cm | 10 vnt. rinkinys

33,99 

Modernaus dizaino popierinis maišelis su kontrastinga apdaila ir tvirta rankena. Puikiai tinka gėlėms pakuoti, yra įvairių dydžių ir elegantiškų spalvų variantų.

Išvalyti

14 dienų grąžinimo terminas

Saugūs mokėjimai naudojant SSL

Papildoma informacija

Svoris 0,5 kg
Išmatavimai 38 × 13 × 38 cm
Medžiaga

Popierius

Spalva

balta, juoda, rožinė

Dydis

13 x 12,5 x 15 cm

Kiekis

10 vienetų / rinkinys

Išskirtiniai modernaus dizaino popieriniai maišeliai su kontrastinga apdaila ir tvirta rankena. Puikiai tinka gėlėms eksponuoti, dovanoms pakuoti ir ypatingoms progoms. Pagaminti iš patvaraus popieriaus, įvairių dydžių ir elegantiškų spalvų derinių: juodos, rožinės, baltos su aukso akcentais.

Nuomonės

Aprašymas

Išskirtiniai modernaus dizaino popieriniai maišeliai su kontrastinga apdaila ir tvirta rankena. Puikiai tinka gėlėms eksponuoti, dovanoms pakuoti ir ypatingoms progoms. Pagaminti iš patvaraus popieriaus, įvairių dydžių ir elegantiškų spalvų derinių: juodos, rožinės, baltos su aukso akcentais.

Papildoma informacija

Svoris 0,5 kg
Išmatavimai 38 × 13 × 38 cm
Medžiaga

Popierius

Spalva

balta, juoda, rožinė

Dydis

13 x 12,5 x 15 cm

Kiekis

10 vienetų / rinkinys

Atsiliepimai

Dar nėra atsiliepimų

Pridėti atsiliepimą
Dekoratyvinė rankinė DHGPBJ-BH-P7 | 13 x 12,5 x 15 cm | 10 vnt. rinkinys Dekoratyvinė rankinė DHGPBJ-BH-P7 | 13 x 12,5 x 15 cm | 10 vnt. rinkinys
Įvertinimas*
0/5
* Reikalingas įvertinimas
Jūsų apžvalga
* Reikalinga peržiūra
Pavadinimas
* Būtina nurodyti vardą ir pavardę
Add photos or video to your review

Nemokamas pristatymas

Nuo £450
užsakymo vertė

Aukšta kokybė

Kruopščiai atrinkti pakuotei skirti produktai

Greitas pristatymas

Užsakymai išsiunčiami per
24 valandas.

Saugus apsipirkimas

Patikrinti mokėjimai ir užtikrintas apdorojimas

Panašūs produktai

1c4fbabcd9a199a54dcb010bac78e2bc
Atsakykite į klausimus ir laimėkite

10 % nuolaida

Pirmajam užsakymui, kurio vertė ne mažesnė kaip 149 zlotai

Išsamią informaciją apie duomenų tvarkymą rasite Privatumo politikoje.

1c4fbabcd9a199a54dcb010bac78e2bc
Atsakykite į klausimus ir laimėkite

10 % nuolaida

Pirmajam užsakymui, kurio vertė ne mažesnė kaip 149 zlotai

Išsamią informaciją apie duomenų tvarkymą rasite Privatumo politikoje.