Home » Shop » Präsentbox Medio
2,6kg
44,90 €
Geschenkkorb Medio
1x Bio Pasta S.Cappelli 500g
1x Bio Passata Gialla 420g
1x Bio Sugo Pronto 280g
1x Bio Olivenöl 250ml
1x Bio Pesto rosso 180g
1x Bio Pesto verde 180g
1x Bio Cantuccini 85g
Lieferzeit: 5-7- Werktage
11 vorrätig
Bio-zertifiziertDE-ÖKO-037
Schneller VersandFrei ab €79
Sichere ZahlungSSL-verschlüsselt
Beschreibung
Das ideale Präsent für alle Anlässe. Kann auch mit Weihnachtsbox „Frohe Weihnachten“ verpackt werden.
Gerne erstellen wir auf Anfrage auch individuelle Präsentkörbe nach Ihren Wünschen mit weiteren italienischen Spezialitäten wie Wein, Käse, uvm. zusammen.
Hier Anfragen
Präsentbox Medio
44,90 €
In den Warenkorb
Zwischensumme: 39,89 €
inkl. 7 % MwSt.: 2,61 €
Warenkorb anzeigen Kasse
Sichere SSL-Bezahlung
Kostenloser Versand ab 79 €
';
searchResultsContainer.style.display = 'block';
return;
}
function escAttr(s) { var d = document.createElement('div'); d.textContent = s || ''; return d.innerHTML; }
var html = '';
data.results.forEach(function(item) {
html += '
';
if (item.image) {
html += ' ';
}
html += '';
html += '' + escAttr(item.title) + ' ';
html += '' + item.price + ' ';
html += '
';
});
searchResultsContainer.innerHTML = html;
searchResultsContainer.style.display = 'block';
});
}, 300);
});
// Hide results when search overlay closes
var searchOverlay = document.getElementById('gol-search-overlay');
if (searchOverlay) {
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(m) {
if (!searchOverlay.classList.contains('active')) {
searchResultsContainer.style.display = 'none';
searchResultsContainer.innerHTML = '';
}
});
});
observer.observe(searchOverlay, { attributes: true, attributeFilter: ['class'] });
}
}
// ── Recently Viewed Products ────────────────────────────
var rvSection = document.getElementById('gol-recently-viewed');
var rvGrid = document.getElementById('gol-recently-viewed-grid');
// Track current product
var productBody = document.querySelector('body.single-product');
if (productBody) {
var productIdMeta = document.querySelector('.woocommerce div.product');
if (productIdMeta) {
var postClass = productBody.className.match(/postid-(\d+)/);
if (postClass) {
var currentId = postClass[1];
try {
var viewed = JSON.parse(localStorage.getItem('gol_recently_viewed') || '[]');
viewed = viewed.filter(function(id) { return id !== currentId; });
viewed.unshift(currentId);
viewed = viewed.slice(0, 12);
localStorage.setItem('gol_recently_viewed', JSON.stringify(viewed));
} catch(e) {}
}
}
}
// Display recently viewed
if (rvSection && rvGrid) {
try { var viewedIds = JSON.parse(localStorage.getItem('gol_recently_viewed') || '[]'); } catch(e) { var viewedIds = []; }
// Exclude current product
if (productBody) {
var postMatch = productBody.className.match(/postid-(\d+)/);
if (postMatch) {
viewedIds = viewedIds.filter(function(id) { return id !== postMatch[1]; });
}
}
if (viewedIds.length > 0) {
fetch(ilgolosone.ajaxurl + '?action=ilgolosone_recently_viewed&nonce=' + ilgolosone.nonce + '&ids=' + viewedIds.slice(0, 6).join(','))
.then(function(r) { return r.json(); })
.then(function(data) {
if (data.html && data.html.trim()) {
rvGrid.innerHTML = data.html;
rvSection.style.display = 'block';
}
});
}
}
// ── Willkommensrabatt Popup ─────────────────────────────
// Kundenwunsch 2026-07-06: subito all'arrivo, non più solo exit-intent.
// 4s di ritardo: la pagina dipinge prima (niente interstitial al primo
// paint) ma per l'utente è "subito". Exit-intent resta come trigger
// anticipato su desktop. Chi si iscrive non lo rivede più (cookie 1 anno).
var exitPopup = document.getElementById('gol-exit-popup');
if (exitPopup && !document.cookie.includes('gol_exit_shown=1') && !document.cookie.includes('gol_nl_subscribed=1')) {
var exitShown = false;
var exitReturnFocus = null;
setTimeout(function() {
if (!exitShown) showExitPopup();
}, 4000);
// Desktop: mouse leaves viewport before the timer fires
document.addEventListener('mouseout', function(e) {
if (exitShown) return;
if (e.clientY <= 0 && e.relatedTarget === null) {
showExitPopup();
}
});
function showExitPopup() {
exitShown = true;
exitPopup.classList.add('active');
exitPopup.setAttribute('aria-hidden', 'false');
document.body.style.overflow = 'hidden';
document.cookie = 'gol_exit_shown=1;path=/;max-age=' + (7 * 86400);
// A11y: focus nel dialog, si ripristina alla chiusura.
// rAF: subito dopo l'aggiunta di .active l'elemento non è ancora
// focusabile (transizione CSS in corso).
exitReturnFocus = document.activeElement;
var content = exitPopup.querySelector('.gol-exit-popup-content');
if (content) {
content.setAttribute('tabindex', '-1');
requestAnimationFrame(function() {
requestAnimationFrame(function() { content.focus(); });
});
}
}
function closeExitPopup() {
exitPopup.classList.remove('active');
exitPopup.setAttribute('aria-hidden', 'true');
document.body.style.overflow = '';
if (exitReturnFocus && exitReturnFocus.focus) {
exitReturnFocus.focus();
}
}
var exitClose = exitPopup.querySelector('.gol-exit-popup-close');
var exitOverlay = exitPopup.querySelector('.gol-exit-popup-overlay');
if (exitClose) exitClose.addEventListener('click', closeExitPopup);
if (exitOverlay) exitOverlay.addEventListener('click', closeExitPopup);
document.addEventListener('keydown', function(e) {
if (e.key === 'Escape') closeExitPopup();
});
// Iscritto dal popup → mai più mostrarlo (il retry in caso di errore
// avviene comunque nel popup già aperto in questa sessione).
var exitForm = exitPopup.querySelector('form');
if (exitForm) {
exitForm.addEventListener('submit', function() {
document.cookie = 'gol_nl_subscribed=1;path=/;max-age=' + (365 * 86400);
});
}
}
// ── Mobile Filter Bottom-Sheet ──────────────────────────
var filterToggle = document.getElementById('gol-filter-toggle');
var filterSheet = document.getElementById('gol-filter-sheet');
if (filterToggle && filterSheet) {
var filterClose = filterSheet.querySelector('.gol-filter-sheet-close');
var filterOverlay = filterSheet.querySelector('.gol-filter-sheet-overlay');
filterToggle.addEventListener('click', function() {
filterSheet.classList.add('active');
filterSheet.setAttribute('aria-hidden', 'false');
document.body.style.overflow = 'hidden';
});
function closeFilterSheet() {
filterSheet.classList.remove('active');
filterSheet.setAttribute('aria-hidden', 'true');
document.body.style.overflow = '';
}
if (filterClose) filterClose.addEventListener('click', closeFilterSheet);
if (filterOverlay) filterOverlay.addEventListener('click', closeFilterSheet);
}
})();
document.addEventListener('DOMContentLoaded', function() {
'use strict';
var fab = document.getElementById('gol-fab');
var fabToggle = document.getElementById('gol-fab-toggle');
var fabActions = document.getElementById('gol-fab-actions');
var chatBtn = document.getElementById('gol-fab-chat-btn');
var chatWindow = document.getElementById('gol-chatbot-window');
var chatMessages = document.getElementById('gol-chatbot-messages');
var chatForm = document.getElementById('gol-chatbot-form');
var chatInput = document.getElementById('gol-chatbot-message');
var chatClose = document.getElementById('gol-chatbot-close');
if (!fabToggle || !chatWindow) return;
var history = [];
var fabOpen = false;
var chatOpen = false;
var isLoading = false;
// Toggle FAB menu
fabToggle.addEventListener('click', function() {
if (chatOpen) {
closeChatWindow();
return;
}
fabOpen = !fabOpen;
fabActions.classList.toggle('active', fabOpen);
fabToggle.querySelector('.gol-fab-icon-default').style.display = fabOpen ? 'none' : 'block';
fabToggle.querySelector('.gol-fab-icon-close').style.display = fabOpen ? 'block' : 'none';
});
// Focus trap helper
var CHAT_FOCUSABLE = 'a[href],button:not([disabled]),input:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';
var chatTrapHandler = null;
// Open chat from FAB action
chatBtn.addEventListener('click', function() {
fabOpen = false;
chatOpen = true;
fabActions.classList.remove('active');
chatWindow.setAttribute('aria-hidden', 'false');
chatWindow.classList.add('active');
fabToggle.setAttribute('aria-expanded', 'true');
fabToggle.querySelector('.gol-fab-icon-default').style.display = 'none';
fabToggle.querySelector('.gol-fab-icon-close').style.display = 'block';
if (chatInput) chatInput.focus();
chatTrapHandler = function(e) {
if (e.key !== 'Tab') return;
var focusable = chatWindow.querySelectorAll(CHAT_FOCUSABLE);
if (!focusable.length) return;
var first = focusable[0], last = focusable[focusable.length - 1];
if (e.shiftKey && document.activeElement === first) { e.preventDefault(); last.focus(); }
else if (!e.shiftKey && document.activeElement === last) { e.preventDefault(); first.focus(); }
};
chatWindow.addEventListener('keydown', chatTrapHandler);
});
// Close chat
function closeChatWindow() {
chatOpen = false;
chatWindow.setAttribute('aria-hidden', 'true');
chatWindow.classList.remove('active');
fabToggle.setAttribute('aria-expanded', 'false');
fabToggle.querySelector('.gol-fab-icon-default').style.display = 'block';
fabToggle.querySelector('.gol-fab-icon-close').style.display = 'none';
if (chatTrapHandler) { chatWindow.removeEventListener('keydown', chatTrapHandler); chatTrapHandler = null; }
if (chatBtn) chatBtn.focus();
// ESC handler registered globally below
}
if (chatClose) {
chatClose.addEventListener('click', closeChatWindow);
}
// ESC closes chat when open
document.addEventListener('keydown', function(e) {
if (e.key === 'Escape' && chatOpen) {
closeChatWindow();
}
});
// Close FAB when clicking outside
document.addEventListener('click', function(e) {
if (fabOpen && !fab.contains(e.target)) {
fabOpen = false;
fabActions.classList.remove('active');
fabToggle.querySelector('.gol-fab-icon-default').style.display = 'block';
fabToggle.querySelector('.gol-fab-icon-close').style.display = 'none';
}
});
// Chat form submission
chatForm.addEventListener('submit', function(e) {
e.preventDefault();
var msg = chatInput.value.trim();
if (!msg || isLoading) return;
appendMessage(msg, 'user');
history.push({ role: 'user', content: msg });
chatInput.value = '';
isLoading = true;
var typing = document.createElement('div');
typing.className = 'gol-chat-msg gol-chat-bot gol-chat-typing';
typing.innerHTML = '
';
chatMessages.appendChild(typing);
chatMessages.scrollTop = chatMessages.scrollHeight;
var formData = new FormData();
formData.append('action', 'ilgolosone_chatbot');
formData.append('nonce', ilgolosone.chatbot_nonce);
formData.append('message', msg);
formData.append('history', JSON.stringify(history.slice(-10)));
fetch(ilgolosone.ajaxurl, {
method: 'POST',
body: formData
})
.then(function(r) { return r.json(); })
.then(function(data) {
typing.remove();
var reply = (data.data && data.data.reply) ? data.data.reply : 'Entschuldigung, ein Fehler ist aufgetreten.';
appendMessage(reply, 'bot');
history.push({ role: 'assistant', content: reply });
isLoading = false;
})
.catch(function() {
typing.remove();
appendMessage('Verbindungsfehler. Bitte versuchen Sie es erneut.', 'bot');
isLoading = false;
});
});
function appendMessage(text, role) {
var div = document.createElement('div');
div.className = 'gol-chat-msg gol-chat-' + role;
div.innerHTML = '
' + escapeHtml(text) + '
';
chatMessages.appendChild(div);
chatMessages.scrollTop = chatMessages.scrollHeight;
}
function escapeHtml(text) {
var d = document.createElement('div');
d.textContent = text;
return d.innerHTML;
}
});
(function() {
'use strict';
var recipeForm = document.getElementById('gol-recipe-form');
if (!recipeForm) return;
var resultDiv = document.getElementById('gol-recipe-result');
var loadingDiv = document.getElementById('gol-recipe-loading');
var contentDiv = document.getElementById('gol-recipe-content');
var productsDiv = document.getElementById('gol-recipe-products');
var newBtn = document.getElementById('gol-recipe-new');
recipeForm.addEventListener('submit', function(e) {
e.preventDefault();
var pasta = document.getElementById('gol-recipe-pasta').value;
if (!pasta) return;
resultDiv.style.display = 'block';
loadingDiv.style.display = 'flex';
contentDiv.innerHTML = '';
productsDiv.innerHTML = '';
newBtn.style.display = 'none';
var formData = new FormData();
formData.append('action', 'ilgolosone_recipe');
formData.append('nonce', ilgolosone.chatbot_nonce);
formData.append('pasta', pasta);
formData.append('diet', document.getElementById('gol-recipe-diet').value);
formData.append('difficulty', document.getElementById('gol-recipe-difficulty').value);
formData.append('season', document.getElementById('gol-recipe-season').value);
fetch(ilgolosone.ajaxurl, { method: 'POST', body: formData })
.then(function(r) { return r.json(); })
.then(function(data) {
loadingDiv.style.display = 'none';
if (!data.success || !data.data) {
contentDiv.innerHTML = '
Leider konnte kein Rezept generiert werden.
';
return;
}
var r = data.data;
var html = '
';
html += '
' + esc(r.title) + ' ';
html += '
';
html += '👥 ' + r.servings + ' Portionen ';
html += '⏱️ ' + esc(r.time) + ' ';
html += '
';
html += '
Zutaten ';
(r.ingredients || []).forEach(function(i) { html += '' + esc(i) + ' '; });
html += ' ';
html += '
Zubereitung ';
(r.steps || []).forEach(function(s) { html += '' + esc(s) + ' '; });
html += ' ';
if (r.tip) {
html += '
💡 Tipp: ' + esc(r.tip) + '
';
}
html += '
';
contentDiv.innerHTML = html;
// Product suggestions
if (r.suggestions && r.suggestions.length > 0) {
var phtml = '
Passende Produkte dazu ';
productsDiv.innerHTML = phtml;
}
newBtn.style.display = 'inline-flex';
resultDiv.scrollIntoView({ behavior: 'smooth', block: 'start' });
})
.catch(function() {
loadingDiv.style.display = 'none';
contentDiv.innerHTML = '
Verbindungsfehler. Bitte versuchen Sie es erneut.
';
});
});
newBtn.addEventListener('click', function() {
recipeForm.dispatchEvent(new Event('submit'));
});
function esc(s) {
var d = document.createElement('div');
d.textContent = s || '';
return d.innerHTML;
}
})();
(function() {
'use strict';
var quiz = document.getElementById('gol-quiz');
if (!quiz) return;
var answers = {};
var totalSteps = 3;
var currentStep = 1;
var progressBar = document.getElementById('gol-quiz-progress');
quiz.addEventListener('click', function(e) {
var btn = e.target.closest('.gol-quiz-option');
if (!btn) return;
var step = btn.closest('.gol-quiz-step');
var stepNum = step.getAttribute('data-step');
var value = btn.getAttribute('data-value');
var next = btn.getAttribute('data-next');
answers[stepNum] = value;
// Mark selected
step.querySelectorAll('.gol-quiz-option').forEach(function(o) { o.classList.remove('selected'); });
btn.classList.add('selected');
setTimeout(function() {
// Hide current step
step.classList.remove('active');
if (next === 'result') {
// Show results
var resultStep = quiz.querySelector('[data-step="result"]');
resultStep.classList.add('active');
progressBar.style.width = '100%';
// Fetch results
fetch(ilgolosone.ajaxurl + '?action=ilgolosone_quiz&nonce=' + ilgolosone.nonce + '&answers=' + encodeURIComponent(JSON.stringify(answers)))
.then(function(r) { return r.json(); })
.then(function(data) {
document.getElementById('gol-quiz-results').innerHTML = data.html || '
Keine Ergebnisse.
';
});
} else {
// Show next step
var nextStep = quiz.querySelector('[data-step="' + next + '"]');
if (nextStep) {
nextStep.classList.add('active');
currentStep++;
progressBar.style.width = Math.min((currentStep / totalSteps) * 100, 95) + '%';
}
}
}, 200);
});
// Restart
var restartBtn = document.getElementById('gol-quiz-restart');
if (restartBtn) {
restartBtn.addEventListener('click', function() {
answers = {};
currentStep = 1;
progressBar.style.width = '0%';
quiz.querySelectorAll('.gol-quiz-step').forEach(function(s) { s.classList.remove('active'); });
quiz.querySelectorAll('.gol-quiz-option').forEach(function(o) { o.classList.remove('selected'); });
quiz.querySelector('[data-step="1"]').classList.add('active');
});
}
})();
(function() {
var deferredPrompt = null;
var installBanner = document.getElementById('gol-pwa-install');
var installBtn = document.getElementById('gol-pwa-install-btn');
var closeBtn = document.getElementById('gol-pwa-install-close');
if (!installBanner) return;
window.addEventListener('beforeinstallprompt', function(e) {
e.preventDefault();
deferredPrompt = e;
// Show after 30 seconds on site
setTimeout(function() {
if (deferredPrompt && !localStorage.getItem('gol_pwa_dismissed')) {
installBanner.style.display = 'flex';
}
}, 30000);
});
if (installBtn) {
installBtn.addEventListener('click', function() {
if (!deferredPrompt) return;
deferredPrompt.prompt();
deferredPrompt.userChoice.then(function() {
deferredPrompt = null;
installBanner.style.display = 'none';
});
});
}
if (closeBtn) {
closeBtn.addEventListener('click', function() {
installBanner.style.display = 'none';
localStorage.setItem('gol_pwa_dismissed', '1');
});
}
})();
//# sourceURL=ilgolosone-main-js-after
Il Golosone App
Auf dem Startbildschirm installieren
Installieren
×
Ciao! Ich bin der KI-Assistent von Il Golosone. Wie kann ich Ihnen helfen? Fragen Sie mich zu unseren Produkten, Rezepten oder Workshops.