(function () {
    var CONSENT_KEY = 'karishma_cookie_consent';

    var texts = {
        it: {
            msg: 'Questo sito utilizza esclusivamente cookie tecnici essenziali per la tua preferenza linguistica. Non utilizziamo cookie di tracciamento o profilazione.',
            accept: 'Ho capito',
            policy: 'Cookie Policy'
        },
        en: {
            msg: 'This website uses only essential technical cookies to remember your language preference. We do not use tracking or profiling cookies.',
            accept: 'Got it',
            policy: 'Cookie Policy'
        },
        pt: {
            msg: 'Este site utiliza apenas cookies técnicos essenciais para lembrar sua preferência de idioma. Não utilizamos cookies de rastreamento ou perfil.',
            accept: 'Entendido',
            policy: 'Política de Cookies'
        }
    };

    function getLang() {
        var p = window.location.pathname.split('/').filter(Boolean)[0];
        return (['en','pt','de','fr','es'].includes(p) ? p : null) || localStorage.getItem('preferredLang') || 'it';
    }

    function policyPath() {
        var parts = window.location.pathname.split('/').filter(Boolean);
        return parts.length > 1 ? '../cookie-policy.html' : 'cookie-policy.html';
    }

    function updateBannerText(lang) {
        var banner = document.getElementById('cookie-consent-banner');
        if (!banner) return;
        var t = texts[lang] || texts.it;
        var msgEl = banner.querySelector('.ccb-msg');
        var btnEl = banner.querySelector('.ccb-btn');
        var linkEl = banner.querySelector('.ccb-link');
        if (linkEl) linkEl.textContent = t.policy;
        if (btnEl) btnEl.textContent = t.accept;
        if (msgEl && msgEl.firstChild && msgEl.firstChild.nodeType === 3) {
            msgEl.firstChild.nodeValue = t.msg + ' ';
        }
    }

    function createBanner() {
        if (localStorage.getItem(CONSENT_KEY)) return;

        var lang = getLang();
        var t = texts[lang] || texts.it;

        var banner = document.createElement('div');
        banner.id = 'cookie-consent-banner';
        banner.setAttribute('role', 'dialog');
        banner.setAttribute('aria-live', 'polite');
        banner.innerHTML =
            '<div class="ccb-inner">' +
            '<p class="ccb-msg">' + t.msg + ' <a href="' + policyPath() + '" class="ccb-link">' + t.policy + '</a></p>' +
            '<button id="ccb-accept" class="ccb-btn">' + t.accept + '</button>' +
            '</div>';

        document.body.appendChild(banner);

        document.getElementById('ccb-accept').addEventListener('click', function () {
            localStorage.setItem(CONSENT_KEY, '1');
            banner.classList.add('ccb-hiding');
            setTimeout(function () { banner.remove(); }, 350);
        });

        // Update banner text when language changes
        var switcher = document.querySelector('.lang-switcher');
        if (switcher) {
            switcher.addEventListener('click', function (e) {
                var el = e.target.closest('[data-lang]');
                if (el) updateBannerText(el.getAttribute('data-lang'));
            });
        }

        // Also react to main.js langChanged event
        window.addEventListener('langChanged', function () {
            updateBannerText(getLang());
        });
    }

    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', createBanner);
    } else {
        createBanner();
    }
})();
