Hello world!

Welcome to WordPress. This is your first post. Edit or delete it, then start writing!

no rodapé do site // (via Elementor > Site Settings > Custom Code OU plugin // como "Insert Headers and Footers" / "WPCode") // =========================================================== // Google Translate (carrega o widget) (function(){ var s = document.createElement('script'); s.src = '//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit'; document.head.appendChild(s); // Cria container oculto para o widget var div = document.createElement('div'); div.id = 'google_translate_element'; document.body.appendChild(div); })(); function googleTranslateElementInit(){ new google.translate.TranslateElement({ pageLanguage: 'pt', includedLanguages: 'pt,en,es,fr', autoDisplay: false }, 'google_translate_element'); } // ===== Resto do JS (header scroll, mobile nav, reveals, idioma, form) ===== // AR LIVRE — Interactions // Header scroll behavior const header = document.querySelector('.site-header'); const onScroll = () => { if (window.scrollY > 60) header.classList.add('scrolled'); else header.classList.remove('scrolled'); }; window.addEventListener('scroll', onScroll, { passive: true }); onScroll(); // Mobile nav toggle const navToggle = document.querySelector('.nav-toggle'); if (navToggle) { navToggle.addEventListener('click', () => { document.body.classList.toggle('nav-open'); }); document.querySelectorAll('.nav-links a').forEach(a => { a.addEventListener('click', () => document.body.classList.remove('nav-open')); }); } // Reveal on scroll const revealObserver = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.classList.add('in'); revealObserver.unobserve(entry.target); } }); }, { threshold: 0.12, rootMargin: '0px 0px -60px 0px' }); document.querySelectorAll('.reveal').forEach(el => revealObserver.observe(el)); // Experience filters (Experiências page) const filterButtons = document.querySelectorAll('.filter-btn'); const expCards = document.querySelectorAll('[data-cats]'); if (filterButtons.length && expCards.length) { filterButtons.forEach(btn => { btn.addEventListener('click', () => { filterButtons.forEach(b => b.classList.remove('active')); btn.classList.add('active'); const cat = btn.dataset.filter; expCards.forEach(card => { const cats = (card.dataset.cats || '').split(','); const show = cat === 'all' || cats.includes(cat); card.style.display = show ? '' : 'none'; }); }); }); } // Contact form (demo handler — substitute by real backend later) const contactForm = document.querySelector('.contact-form'); if (contactForm) { contactForm.addEventListener('submit', (e) => { e.preventDefault(); const btn = contactForm.querySelector('button[type="submit"]'); const original = btn.textContent; btn.textContent = 'Enviando...'; btn.disabled = true; setTimeout(() => { btn.textContent = 'Solicitação enviada ✓'; contactForm.reset(); setTimeout(() => { btn.textContent = original; btn.disabled = false; }, 2800); }, 900); }); } // Year in footer const yearEl = document.querySelector('#year'); if (yearEl) yearEl.textContent = new Date().getFullYear(); // ===== Language switcher (via Google Translate) ===== const altToLang = { 'PT': 'pt', 'EN': 'en', 'ES': 'es', 'FR': 'fr' }; // Define o idioma via cookie (método mais confiável que clicar no select) function setLangCookie(lang) { const value = '/pt/' + lang; // Limpar antes document.cookie = 'googtrans=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/;'; document.cookie = 'googtrans=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=' + location.hostname + ';'; document.cookie = 'googtrans=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=.' + location.hostname + ';'; // Definir if (lang !== 'pt') { document.cookie = 'googtrans=' + value + '; path=/;'; document.cookie = 'googtrans=' + value + '; path=/; domain=' + location.hostname + ';'; } } function setGoogleLanguage(lang) { // Tenta primeiro via select (mais imediato) let tries = 0; const attempt = () => { const select = document.querySelector('.goog-te-combo'); if (select) { select.value = lang; select.dispatchEvent(new Event('change')); return true; } else if (tries < 40) { tries++; setTimeout(attempt, 200); } return false; }; attempt(); } function updateActiveFlag(lang) { document.querySelectorAll('.lang-flag').forEach(f => { const altText = f.querySelector('img')?.alt; f.classList.toggle('active', altToLang[altText] === lang); }); } document.querySelectorAll('.lang-flag').forEach(flag => { flag.addEventListener('click', (e) => { const altText = flag.querySelector('img')?.alt; const lang = altToLang[altText]; if (!lang) return; e.preventDefault(); updateActiveFlag(lang); try { localStorage.setItem('preferredLang', lang); } catch (err) {} // Define cookie e recarrega — é o método mais confiável setLangCookie(lang); window.location.reload(); }); }); // Restaura o idioma salvo ao carregar a página try { const saved = localStorage.getItem('preferredLang'); if (saved) { updateActiveFlag(saved); } } catch (err) {}