Apertura ricerca...
L'Esperto Risponde

Vasi Etruschi: Tecniche di Lavorazione e Iconografia

Tempo di lettura: ~7 min  |  A cura di AnticoAntico
Vasi Etruschi: Tecniche di Lavorazione e Icon <div class="mt-5 pt-4 border-top text-center"> <h4 style="color: var(--primary-brown)">Ti interessa questo argomento?</h4> <p class="text-muted">Esplora la nostra collezione accuratamente selezionata dai migliori antiquari.</p> <a href="/" class="btn btn-dark btn-lg px-5" style="background: var(--dark-gray); border-radius: 30px; padding: 12px 30px;"> Esplora le Categorie </a> </div> </article> <!-- JSON-LD per Article (Schema.org) --> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "Vasi Etruschi: Tecniche di Lavorazione e Iconografia", "author": { "@type": "Organization", "name": "AnticoAntico", "url": "https://www.anticoantico.com" }, "publisher": { "@type": "Organization", "name": "AnticoAntico" } } </script> <!-- Footer --> <footer id="footer" class="main-footer dark"> <div class="secondary-footer"> <div class="container"> <div class="row"> <div class="col-md-12"> <div class="social-link circle"> <a href="https://www.facebook.com/AnticoAntico/?locale=it_IT" target="_blank" aria-label="Facebook"><i class="fa fa-facebook"></i></a> <a href="https://www.instagram.com/anticoantico.official" target="_blank" aria-label="Instagram"><i class="fa fa-instagram"></i></a> </div> <span class="m-top-10">AnticoAntico srl<br> P.Iva 02264621208 REA BO-425315 </span> <div class="footer-legal-links"> <a href="/html/disclamer_l_ita.htm" class="f-link" target="_blank">Disclaimer</a> <a href="https://www.iubenda.com/privacy-policy/992894" target="_blank" rel="nofollow" class="f-link">Privacy policy</a> <a href="https://www.iubenda.com/privacy-policy/992894/cookie-policy" target="_blank" rel="nofollow" class="f-link">Cookie Policy</a> <button type="button" onclick="openCookieSettings(); return false;" class="f-link cookie-settings-link" style="background:none; border:none; padding:0; font:inherit; color:inherit; cursor:pointer;">Cookie Settings</button> <a href="https://blog.anticoantico.com/" class="f-link" target="_blank">Blog</a> </div> </div> </div> </div> </div> </footer> <!-- Language Menu - Vanilla JS Standalone (NO dependencies) --> <script> // Gestione menu lingue in vanilla JavaScript puro (function() { 'use strict'; function initLanguageMenus() { var languageBtns = document.querySelectorAll('.language-btn, .language-btn-small'); if (languageBtns.length === 0) { setTimeout(initLanguageMenus, 500); return; } function closeAllDropdowns() { document.querySelectorAll('.language-menu').forEach(function(menu) { menu.classList.remove('show'); }); document.querySelectorAll('.language-btn, .language-btn-small').forEach(function(btn) { btn.classList.remove('show'); }); } languageBtns.forEach(function(btn) { btn.removeEventListener('click', handleLanguageClick); btn.addEventListener('click', handleLanguageClick); }); function handleLanguageClick(e) { e.preventDefault(); e.stopPropagation(); e.stopImmediatePropagation(); var dropdown = this.closest('.language-dropdown'); if (!dropdown) return; var menu = dropdown.querySelector('.language-menu'); if (!menu) return; var isOpen = menu.classList.contains('show'); closeAllDropdowns(); if (!isOpen) { this.classList.add('show'); menu.classList.add('show'); } } document.addEventListener('click', function(e) { if (!e.target.closest('.language-dropdown')) { closeAllDropdowns(); } }); document.addEventListener('keydown', function(e) { if (e.key === 'Escape') { closeAllDropdowns(); } }); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLanguageMenus); } else { initLanguageMenus(); } })(); </script> <!-- Optimized JavaScript Loading --> <!-- Critical JS - Load immediately --> <!-- jQuery - Defer per ridurre TBT --> <script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous" defer></script> <!-- Non-critical JS - Load with defer --> <!-- Bootstrap JS - Caricamento condizionale per ridurre unused JS --> <script> // Carica Bootstrap solo se ci sono componenti che lo richiedono document.addEventListener('DOMContentLoaded', function() { // Controlla se c'è un utente loggato o altri componenti Bootstrap var needsBootstrap = document.querySelector('.dropdown, .modal, .collapse, .carousel, .tooltip, .popover') || document.querySelector('.user-widget .dropdown') || window.userAuthenticated; if (needsBootstrap) { var script = document.createElement('script'); script.src = 'https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js'; script.defer = true; document.head.appendChild(script); } }); </script> <script src="/assets/js/main.js?v=20260617lean" defer></script> <!-- Image Lazy Loading Enhancement --> <script> // Fallback for browsers that don't support native lazy loading if ('loading' in HTMLImageElement.prototype) { const images = document.querySelectorAll('img[loading="lazy"]'); images.forEach(img => { img.src = img.dataset.src || img.src; }); } else { // Polyfill or alternative lazy loading library const script = document.createElement('script'); script.src = 'https://cdn.jsdelivr.net/npm/vanilla-lazyload@17.8.3/dist/lazyload.min.js'; script.onload = function() { new LazyLoad(); }; document.head.appendChild(script); } </script> <!-- Cookie Banner --> <!-- Cookie Banner CSS --> <style> /* Cookie Banner Overlay */ .cookie-banner-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.7); z-index: 999998; display: none; backdrop-filter: blur(3px); } .cookie-banner-overlay.active { display: block; } /* Cookie Banner Container */ .cookie-banner { position: fixed; bottom: 0; left: 0; right: 0; background: #ffffff; box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15); z-index: 999999; display: none; animation: slideUp 0.4s ease-out; } .cookie-banner.active { display: block; } @keyframes slideUp { from { transform: translateY(100%); } to { transform: translateY(0); } } .cookie-banner-content { max-width: 1200px; margin: 0 auto; padding: 25px 20px; } .cookie-banner-header { display: flex; align-items: center; margin-bottom: 15px; } .cookie-banner-icon { font-size: 28px; margin-right: 12px; } .cookie-banner-title { font-size: 20px; font-weight: 700; color: #333; margin: 0; } .cookie-banner-text { font-size: 14px; line-height: 1.6; color: #555; margin-bottom: 20px; } .cookie-banner-text a { color: #8B4513; text-decoration: underline; } .cookie-banner-buttons { display: flex; gap: 10px; flex-wrap: wrap; } .cookie-btn { padding: 12px 24px; border: none; border-radius: 6px; font-size: 14px; font-weight: 600; cursor: pointer; transition: all 0.3s ease; white-space: nowrap; } .cookie-btn-accept { background: #8B4513; color: white; } .cookie-btn-accept:hover { background: #6d3410; transform: translateY(-1px); box-shadow: 0 4px 8px rgba(139, 69, 19, 0.3); } .cookie-btn-reject { background: #e0e0e0; color: #333; } .cookie-btn-reject:hover { background: #d0d0d0; } .cookie-btn-settings { background: transparent; color: #8B4513; border: 2px solid #8B4513; } .cookie-btn-settings:hover { background: #8B4513; color: white; } /* Cookie Settings Modal */ .cookie-settings-modal { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: white; border-radius: 12px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3); max-width: 600px; width: 90%; max-height: 80vh; overflow-y: auto; z-index: 1000000; display: none; animation: fadeInScale 0.3s ease-out; } .cookie-settings-modal.active { display: block; } @keyframes fadeInScale { from { opacity: 0; transform: translate(-50%, -50%) scale(0.9); } to { opacity: 1; transform: translate(-50%, -50%) scale(1); } } .cookie-settings-header { padding: 25px; border-bottom: 1px solid #e0e0e0; } .cookie-settings-title { font-size: 22px; font-weight: 700; color: #333; margin: 0; } .cookie-settings-body { padding: 25px; } .cookie-category { margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid #f0f0f0; } .cookie-category:last-child { border-bottom: none; margin-bottom: 0; } .cookie-category-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; } .cookie-category-title { font-size: 16px; font-weight: 600; color: #333; } .cookie-category-required { font-size: 12px; color: #999; font-style: italic; } .cookie-category-desc { font-size: 14px; color: #666; line-height: 1.5; } /* Toggle Switch */ .cookie-toggle { position: relative; display: inline-block; width: 50px; height: 26px; } .cookie-toggle input { opacity: 0; width: 0; height: 0; } .cookie-toggle-slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; transition: 0.3s; border-radius: 26px; } .cookie-toggle-slider:before { position: absolute; content: ""; height: 20px; width: 20px; left: 3px; bottom: 3px; background-color: white; transition: 0.3s; border-radius: 50%; } .cookie-toggle input:checked + .cookie-toggle-slider { background-color: #8B4513; } .cookie-toggle input:checked + .cookie-toggle-slider:before { transform: translateX(24px); } .cookie-toggle input:disabled + .cookie-toggle-slider { cursor: not-allowed; opacity: 0.5; } .cookie-settings-footer { padding: 20px 25px; border-top: 1px solid #e0e0e0; display: flex; gap: 10px; justify-content: flex-end; } /* Responsive */ @media (max-width: 768px) { .cookie-banner-content { padding: 20px 15px; } .cookie-banner-title { font-size: 18px; } .cookie-banner-buttons { flex-direction: column; } .cookie-btn { width: 100%; text-align: center; } .cookie-settings-modal { width: 95%; max-height: 85vh; } } /* Cookie Settings Link in Footer */ .cookie-settings-link { color: #8B4513; cursor: pointer; text-decoration: underline; } .cookie-settings-link:hover { color: #6d3410; } </style> <!-- Cookie Banner HTML --> <div class="cookie-banner-overlay" id="cookieBannerOverlay"></div> <div class="cookie-banner" id="cookieBanner"> <div class="cookie-banner-content"> <div class="cookie-banner-header"> <div class="cookie-banner-icon">🍪</div> <h2 class="cookie-banner-title" id="cookieBannerTitle"></h2> </div> <div class="cookie-banner-text" id="cookieBannerText"></div> <div class="cookie-banner-buttons"> <button class="cookie-btn cookie-btn-accept" id="cookieAcceptAll"></button> <button class="cookie-btn cookie-btn-reject" id="cookieRejectAll"></button> <button class="cookie-btn cookie-btn-settings" id="cookieSettings"></button> </div> </div> </div> <!-- Cookie Settings Modal --> <div class="cookie-settings-modal" id="cookieSettingsModal"> <div class="cookie-settings-header"> <h3 class="cookie-settings-title" id="cookieSettingsTitle"></h3> </div> <div class="cookie-settings-body" id="cookieSettingsBody"></div> <div class="cookie-settings-footer"> <button class="cookie-btn cookie-btn-reject" id="cookieSaveSettings"></button> </div> </div> <!-- Cookie Banner JavaScript --> <script> (function() { 'use strict'; // ================================================== // GOOGLE ANALYTICS CONSENT MODE V2 - Inizializzazione // ================================================== // IMPORTANTE: Questo codice DEVE essere eseguito PRIMA di caricare GA window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} // Imposta default consent (denied) per regioni EU gtag('consent', 'default', { 'ad_storage': 'denied', 'ad_user_data': 'denied', 'ad_personalization': 'denied', 'analytics_storage': 'denied', 'functionality_storage': 'granted', // Cookie necessari sempre permessi 'personalization_storage': 'denied', 'security_storage': 'granted', // Cookie di sicurezza sempre permessi 'wait_for_update': 500, // Attendi 500ms per l'aggiornamento 'region': ['AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'GR', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE', 'GB'] // Paesi EU/UK }); // Imposta default consent (granted) per resto del mondo gtag('consent', 'default', { 'ad_storage': 'granted', 'ad_user_data': 'granted', 'ad_personalization': 'granted', 'analytics_storage': 'granted', 'functionality_storage': 'granted', 'personalization_storage': 'granted', 'security_storage': 'granted' }); // ================================================== // Traduzioni per tutte le lingue var translations = { 'it': { title: 'Utilizzo dei Cookie', text: 'Utilizziamo i cookie per migliorare la tua esperienza di navigazione, analizzare il traffico del sito e personalizzare i contenuti. Puoi accettare tutti i cookie, rifiutarli o personalizzare le tue preferenze. Per maggiori informazioni, consulta la nostra <a href="/privacy.asp">Privacy Policy</a>.', acceptAll: 'Accetta Tutti', rejectAll: 'Rifiuta Tutti', settings: 'Personalizza', settingsTitle: 'Impostazioni Cookie', saveSettings: 'Salva Preferenze', necessary: 'Cookie Necessari', necessaryDesc: 'Questi cookie sono essenziali per il funzionamento del sito e non possono essere disabilitati.', analytics: 'Cookie Analitici', analyticsDesc: 'Questi cookie ci aiutano a capire come i visitatori interagiscono con il sito raccogliendo informazioni in forma anonima.', required: 'Sempre attivi' }, 'en': { title: 'Cookie Usage', text: 'We use cookies to improve your browsing experience, analyze site traffic and personalize content. You can accept all cookies, reject them or customize your preferences. For more information, see our <a href="/privacy.asp">Privacy Policy</a>.', acceptAll: 'Accept All', rejectAll: 'Reject All', settings: 'Customize', settingsTitle: 'Cookie Settings', saveSettings: 'Save Preferences', necessary: 'Necessary Cookies', necessaryDesc: 'These cookies are essential for the website to function and cannot be disabled.', analytics: 'Analytics Cookies', analyticsDesc: 'These cookies help us understand how visitors interact with the site by collecting information anonymously.', required: 'Always active' }, 'es': { title: 'Uso de Cookies', text: 'Utilizamos cookies para mejorar tu experiencia de navegación, analizar el tráfico del sitio y personalizar el contenido. Puedes aceptar todas las cookies, rechazarlas o personalizar tus preferencias. Para más información, consulta nuestra <a href="/privacy.asp">Política de Privacidad</a>.', acceptAll: 'Aceptar Todas', rejectAll: 'Rechazar Todas', settings: 'Personalizar', settingsTitle: 'Configuración de Cookies', saveSettings: 'Guardar Preferencias', necessary: 'Cookies Necesarias', necessaryDesc: 'Estas cookies son esenciales para el funcionamiento del sitio y no se pueden desactivar.', analytics: 'Cookies Analíticas', analyticsDesc: 'Estas cookies nos ayudan a comprender cómo los visitantes interactúan con el sitio recopilando información de forma anónima.', required: 'Siempre activas' }, 'fr': { title: 'Utilisation des Cookies', text: 'Nous utilisons des cookies pour améliorer votre expérience de navigation, analyser le trafic du site et personnaliser le contenu. Vous pouvez accepter tous les cookies, les refuser ou personnaliser vos préférences. Pour plus d\'informations, consultez notre <a href="/privacy.asp">Politique de Confidentialité</a>.', acceptAll: 'Accepter Tout', rejectAll: 'Refuser Tout', settings: 'Personnaliser', settingsTitle: 'Paramètres des Cookies', saveSettings: 'Enregistrer les Préférences', necessary: 'Cookies Nécessaires', necessaryDesc: 'Ces cookies sont essentiels au fonctionnement du site et ne peuvent pas être désactivés.', analytics: 'Cookies Analytiques', analyticsDesc: 'Ces cookies nous aident à comprendre comment les visiteurs interagissent avec le site en collectant des informations de manière anonyme.', required: 'Toujours actifs' }, 'de': { title: 'Cookie-Nutzung', text: 'Wir verwenden Cookies, um Ihr Surferlebnis zu verbessern, den Website-Traffic zu analysieren und Inhalte zu personalisieren. Sie können alle Cookies akzeptieren, ablehnen oder Ihre Präferenzen anpassen. Weitere Informationen finden Sie in unserer <a href="/privacy.asp">Datenschutzerklärung</a>.', acceptAll: 'Alle Akzeptieren', rejectAll: 'Alle Ablehnen', settings: 'Anpassen', settingsTitle: 'Cookie-Einstellungen', saveSettings: 'Einstellungen Speichern', necessary: 'Notwendige Cookies', necessaryDesc: 'Diese Cookies sind für die Funktion der Website unerlässlich und können nicht deaktiviert werden.', analytics: 'Analyse-Cookies', analyticsDesc: 'Diese Cookies helfen uns zu verstehen, wie Besucher mit der Website interagieren, indem sie Informationen anonym sammeln.', required: 'Immer aktiv' }, 'pt': { title: 'Uso de Cookies', text: 'Utilizamos cookies para melhorar a sua experiência de navegação, analisar o tráfego do site e personalizar o conteúdo. Pode aceitar todos os cookies, rejeitá-los ou personalizar as suas preferências. Para mais informações, consulte a nossa <a href="/privacy.asp">Política de Privacidade</a>.', acceptAll: 'Aceitar Todos', rejectAll: 'Rejeitar Todos', settings: 'Personalizar', settingsTitle: 'Definições de Cookies', saveSettings: 'Guardar Preferências', necessary: 'Cookies Necessários', necessaryDesc: 'Estes cookies são essenciais para o funcionamento do site e não podem ser desativados.', analytics: 'Cookies Analíticos', analyticsDesc: 'Estes cookies ajudam-nos a compreender como os visitantes interagem com o site, recolhendo informações de forma anónima.', required: 'Sempre ativos' }, 'ru': { title: 'Использование файлов cookie', text: 'Мы используем файлы cookie для улучшения вашего опыта просмотра, анализа трафика сайта и персонализации контента. Вы можете принять все файлы cookie, отклонить их или настроить свои предпочтения. Для получения дополнительной информации ознакомьтесь с нашей <a href="/privacy.asp">Политикой конфиденциальности</a>.', acceptAll: 'Принять все', rejectAll: 'Отклонить все', settings: 'Настроить', settingsTitle: 'Настройки Cookie', saveSettings: 'Сохранить настройки', necessary: 'Необходимые Cookie', necessaryDesc: 'Эти файлы cookie необходимы для работы сайта и не могут быть отключены.', analytics: 'Аналитические Cookie', analyticsDesc: 'Эти файлы cookie помогают нам понять, как посетители взаимодействуют с сайтом, собирая информацию анонимно.', required: 'Всегда активны' } }; // Rileva lingua corrente function getCurrentLanguage() { var path = window.location.pathname; if (path.indexOf('/l_eng/') !== -1 || path.indexOf('/en/') !== -1) return 'en'; if (path.indexOf('/l_spa/') !== -1 || path.indexOf('/es/') !== -1) return 'es'; if (path.indexOf('/l_fr/') !== -1 || path.indexOf('/fr/') !== -1) return 'fr'; if (path.indexOf('/l_ted/') !== -1 || path.indexOf('/de/') !== -1) return 'de'; if (path.indexOf('/l_port/') !== -1 || path.indexOf('/pt/') !== -1) return 'pt'; if (path.indexOf('/l_rus/') !== -1 || path.indexOf('/ru/') !== -1) return 'ru'; return 'it'; // Default italiano } var currentLang = getCurrentLanguage(); var t = translations[currentLang]; // Cookie management function setCookie(name, value, days) { var expires = ""; if (days) { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); expires = "; expires=" + date.toUTCString(); } document.cookie = name + "=" + value + expires + "; path=/; SameSite=Lax"; } function getCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') c = c.substring(1, c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); } return null; } // Controlla se l'utente ha già dato il consenso function hasConsent() { return getCookie('cookie_consent') !== null; } // Salva il consenso function saveConsent(analytics) { var consent = { necessary: true, analytics: analytics, timestamp: new Date().toISOString() }; setCookie('cookie_consent', JSON.stringify(consent), 365); // Aggiorna Google Analytics Consent Mode v2 if (typeof gtag !== 'undefined') { gtag('consent', 'update', { 'ad_storage': analytics ? 'granted' : 'denied', 'ad_user_data': analytics ? 'granted' : 'denied', 'ad_personalization': analytics ? 'granted' : 'denied', 'analytics_storage': analytics ? 'granted' : 'denied', 'personalization_storage': analytics ? 'granted' : 'denied' }); } // Ricarica la pagina per applicare le modifiche // (necessario per caricare completamente GA con consenso) if (analytics) { window.location.reload(); } else { hideBanner(); } } // Mostra il banner function showBanner() { var banner = document.getElementById('cookieBanner'); var overlay = document.getElementById('cookieBannerOverlay'); if (banner && overlay) { banner.classList.add('active'); overlay.classList.add('active'); } } // Nascondi il banner function hideBanner() { var banner = document.getElementById('cookieBanner'); var overlay = document.getElementById('cookieBannerOverlay'); if (banner && overlay) { banner.classList.remove('active'); overlay.classList.remove('active'); } } // Mostra le impostazioni function showSettings() { document.getElementById('cookieSettingsModal').classList.add('active'); } // Nascondi le impostazioni function hideSettings() { document.getElementById('cookieSettingsModal').classList.remove('active'); } // Popola il testo del banner function populateBannerText() { document.getElementById('cookieBannerTitle').textContent = t.title; document.getElementById('cookieBannerText').innerHTML = t.text; document.getElementById('cookieAcceptAll').textContent = t.acceptAll; document.getElementById('cookieRejectAll').textContent = t.rejectAll; document.getElementById('cookieSettings').textContent = t.settings; document.getElementById('cookieSettingsTitle').textContent = t.settingsTitle; document.getElementById('cookieSaveSettings').textContent = t.saveSettings; // Popola il modal delle impostazioni var settingsBody = document.getElementById('cookieSettingsBody'); settingsBody.innerHTML = ` <div class="cookie-category"> <div class="cookie-category-header"> <div> <div class="cookie-category-title">${t.necessary}</div> <div class="cookie-category-required">${t.required}</div> </div> <label class="cookie-toggle"> <input type="checkbox" checked disabled> <span class="cookie-toggle-slider"></span> </label> </div> <div class="cookie-category-desc">${t.necessaryDesc}</div> </div> <div class="cookie-category"> <div class="cookie-category-header"> <div class="cookie-category-title">${t.analytics}</div> <label class="cookie-toggle"> <input type="checkbox" id="analyticsToggle"> <span class="cookie-toggle-slider"></span> </label> </div> <div class="cookie-category-desc">${t.analyticsDesc}</div> </div> `; } // Ripristina il consenso salvato all'avvio function restoreSavedConsent() { var consent = getCookie('cookie_consent'); if (consent) { try { var consentObj = JSON.parse(consent); // Aggiorna Consent Mode con le preferenze salvate if (typeof gtag !== 'undefined') { gtag('consent', 'update', { 'ad_storage': consentObj.analytics ? 'granted' : 'denied', 'ad_user_data': consentObj.analytics ? 'granted' : 'denied', 'ad_personalization': consentObj.analytics ? 'granted' : 'denied', 'analytics_storage': consentObj.analytics ? 'granted' : 'denied', 'personalization_storage': consentObj.analytics ? 'granted' : 'denied' }); } } catch (e) { console.error('Errore nel parsing del consenso:', e); } } } // Event listeners document.addEventListener('DOMContentLoaded', function() { populateBannerText(); // Ripristina il consenso se già presente restoreSavedConsent(); // Controlla se mostrare il banner if (!hasConsent()) { showBanner(); } // Accetta tutti document.getElementById('cookieAcceptAll').addEventListener('click', function() { saveConsent(true); }); // Rifiuta tutti document.getElementById('cookieRejectAll').addEventListener('click', function() { saveConsent(false); }); // Apri impostazioni document.getElementById('cookieSettings').addEventListener('click', function() { showSettings(); }); // Salva impostazioni document.getElementById('cookieSaveSettings').addEventListener('click', function() { var analyticsToggle = document.getElementById('analyticsToggle'); saveConsent(analyticsToggle.checked); hideSettings(); }); // Chiudi modal cliccando sull'overlay document.getElementById('cookieBannerOverlay').addEventListener('click', function() { // Non chiudere - forza l'utente a scegliere }); }); // Funzione globale per riaprire le impostazioni (da usare nel footer) window.openCookieSettings = function() { populateBannerText(); showSettings(); }; // Esporta funzione per controllare il consenso window.hasCookieConsent = function(type) { var consent = getCookie('cookie_consent'); if (!consent) return false; try { var consentObj = JSON.parse(consent); return consentObj[type] === true; } catch (e) { return false; } }; })(); </script> </body> </html> </body> </html>