/* ================================================ LOGINS.PT – SHARED HEADER + FOOTER COMPONENT Inject into every page automatically. This is the SINGLE SOURCE OF TRUTH for the site header, footer, cookie banner, and back-to-top. ================================================ */ (function () { // Theme Initialization: DEFAULT TO LIGHT THEME const savedTheme = 'dark'; const isDarkSaved = savedTheme === 'dark'; const isLightOrNew = false; if (isLightOrNew) { if (document.body) { // document.body.classList.add('light-theme'); } else { document.addEventListener('DOMContentLoaded', function() { // document.body.classList.add('light-theme'); }); } } // Translation Mappings const TRANSLATIONS = { en: { "Área de Cliente": "Client Area", "Webmail": "Webmail", "Domínios": "Domains", "Hosting": "Hosting", "Servidores": "Servers", "Email": "Email", "SSL & Segurança": "SSL & Security", "Sites & Marketing": "Sites & Marketing", "Suporte": "Support", "Contactar": "Contact Us", "Login": "Login", "Registar": "Register", "Registar Domínio": "Register Domain", "Transferir Domínio": "Transfer Domain", "Domínios Expirados": "Expired Domains", "Pré-Registo": "Pre-Registration", "Domínios Premium": "Premium Domains", "Informações": "Information", "Todas as Extensões": "All Extensions", "Novos Domínios gTLD": "New gTLD Domains", "Pesquisa WHOIS": "WHOIS Lookup", "Avaliação de Domínio": "Domain Evaluation", "Registo Privado": "Private Registration", "Protecção de Marca": "Brand Protection", "Gestão de Marca": "Brand Management", "Monitorização": "Monitoring", "Auditoria de Domínios": "Domain Audit", "Registo de Marca": "Trademark Registration", "Recuperação": "Recovery", "Web Hosting": "Web Hosting", "Alojamento Linux": "Linux Hosting", "Planos Linux": "Linux Plans", "Hosting Windows": "Windows Hosting", "Hosting Reseller": "Reseller Hosting", "Alojamento Premium": "Premium Hosting", "WordPress Gerido": "Managed WordPress", "WordPress com IA": "WordPress with AI", "Criação de Sites WP": "WP Site Creation", "Manutenção WordPress": "WordPress Maintenance", "Criar Loja Online": "Create Online Store", "Planos eCommerce": "eCommerce Plans", "Comparar Soluções": "Compare Solutions", "Servidores Virtuais": "Virtual Servers", "VPS – Servidores Virtuais": "VPS – Virtual Servers", "VPS Gerido": "Managed VPS", "Cloud Server": "Cloud Server", "Acordo SLA": "SLA Agreement", "Servidores Dedicados": "Dedicated Servers", "Servidores AMD": "AMD Servers", "Servidores Intel": "Intel Servers", "Soluções Personalizadas": "Custom Solutions", "Colocation": "Colocation", "Cloud & Backup": "Cloud & Backup", "Cloud Backup": "Cloud Backup", "Data Center": "Data Center", "Gestão de Servidor": "Server Management", "Suporte Premium": "Premium Support", "Email Profissional": "Professional Email", "Email Pessoal": "Personal Email", "Email Pro": "Email Pro", "Email à Medida": "Custom Email", "Comparar Ofertas": "Compare Offers", "Antivírus & Antispam": "Antivirus & Antispam", "Exchange": "Exchange", "SharePoint": "SharePoint", "OneDrive": "OneDrive", "Teams": "Teams", "Office Online": "Office Online", "Certificados SSL": "SSL Certificates", "SSL DV – Domain Validated": "SSL DV – Domain Validated", "SSL OV – Organization Validated": "SSL OV – Organization Validated", "SSL EV – Extended Validation": "SSL EV – Extended Validation", "SSL Wildcard": "SSL Wildcard", "Comparar Certificados": "Compare Certificates", "Protecção": "Protection", "SiteLock": "SiteLock", "Firewall Web": "Web Firewall", "Remoção de Malware": "Malware Removal", "Protecção DDoS": "DDoS Protection", "Criar Site": "Create Website", "Criar Site Online": "Create Website Online", "Criamos o Seu Site": "We Create Your Website", "Site em WordPress": "WordPress Website", "Web Design com IA": "Web Design with AI", "Casos de Sucesso": "Success Stories", "Marketing Digital": "Digital Marketing", "SEO & Posicionamento": "SEO & Positioning", "Google Ads": "Google Ads", "Social Media Hub": "Social Media Hub", "Email Marketing": "Email Marketing", "Reputação Online": "Online Reputation", "Central de Ajuda": "Help Center", "Abrir Ticket": "Open Ticket", "Chat ao Vivo": "Live Chat", "FAQ": "FAQ", "Estado dos Serviços": "Service Status", "Contacto": "Contact", "Registar Agora": "Register Now", "Ver Planos": "View Plans", "Ver Servidores": "View Servers", "Ver Certificados": "View Certificates", "Obter Ajuda": "Get Help", "Sobre nós": "About us", "Parceiros": "Partners", "Todos os direitos reservados.": "All rights reserved.", "Política de Privacidade": "Privacy Policy", "Termos de Serviço": "Terms of Service", "Política de Cookies": "Cookies Policy", "SLA & Condições Gerais": "SLA & General Conditions", "Aceitar": "Accept", "Configurações": "Settings", "Voltar ao topo": "Back to top", "Pesquise o seu domínio perfeito": "Search for your perfect domain", "Encontre o nome ideal para o seu projeto online": "Find the ideal name for your online project", "Pesquisar": "Search", "Alojamento Web de Alta Performance": "High Performance Web Hosting", "Servidores Dedicados e Cloud VPS em Portugal": "Dedicated Servers and Cloud VPS in Portugal", "Escolher Plano de Email": "Choose Email Plan", "SSL Incluído com Hosting": "SSL Included with Hosting", "Escolha o seu plano de email": "Choose your email plan", "Começar é simples": "Getting started is simple", "Escolha o Domínio": "Choose the Domain", "Crie as Contas": "Create the Accounts", "Ligue-se": "Connect", "MAIS POPULAR": "MOST POPULAR", "Uptime Garantido": "Guaranteed Uptime", "Spam Bloqueado": "Blocked Spam", "Encriptação TLS": "TLS Encryption", "Segurança de Classe Empresarial": "Enterprise-Class Security", "Qual é a melhor opção para si?": "Which is the best option for you?", "Email com domínio próprio": "Email with own domain", "Acesso Webmail/Mobile": "Webmail/Mobile Access", "Calendários Partilhados": "Shared Calendars", "Videochamadas (Teams)": "Video Calls (Teams)", "Aplicações Office (Word, Excel)": "Office Apps (Word, Excel)", "Armazenamento Cloud (OneDrive)": "Cloud Storage (OneDrive)", "Funcionalidade": "Feature", "Email Tradicional": "Traditional Email", "Microsoft 365": "Microsoft 365", "Perguntas Frequentes": "Frequently Asked Questions", "Posso usar o email no meu telemóvel?": "Can I use email on my phone?", "É possível migrar as minhas mensagens antigas?": "Can I migrate my old messages?", "Posso ter aliases (redirecionamentos) ilimitados?": "Can I have unlimited aliases (redirects)?", "O que acontece se precisar de mais espaço?": "What happens if I need more space?", "Como funciona a proteção Antispam?": "How does Antispam protection work?", "Pronto para profissionalizar a sua comunicação?": "Ready to professionalize your communication?", "Junte-se a milhares de empresas portuguesas que confiam na Logins.pt.": "Join thousands of Portuguese companies that trust Logins.pt.", "Email Pessoal": "Personal Email", "Email Starter": "Starter Email", "Email Business": "Business Email", "Email Enterprise": "Enterprise Email", "Selecionar": "Select", "Selecionar Business": "Select Business", "Por que escolher a Logins.pt?": "Why choose Logins.pt?", "Mais de 20 anos": "Over 20 years", "a servir Portugal": "serving Portugal", "Somos parceiros oficiais de registo .pt e oferecemos a melhor combinação de qualidade, preço e suporte em português do mercado.": "We are official .pt registration partners and offer the best combination of quality, price and support in Portuguese on the market.", "Suporte Humano 24/7": "24/7 Human Support", "Fale com especialistas em português por telefone, chat ou email a qualquer hora do dia.": "Speak with specialists in Portuguese by phone, chat or email at any time of the day.", "Velocidade Comprovada": "Proven Speed", "Servidores SSD NVMe em Portugal com latência mínima e tempos de carregamento ultrarrápidos.": "SSD NVMe servers in Portugal with minimum latency and ultra-fast loading times.", "Segurança Máxima": "Maximum Security", "SSL gratuito, protecção DDoS, firewall Web e backups automáticos para dormir descansado.": "Included SSL, DDoS protection, Web firewall and automatic backups to sleep peacefully.", "Melhor Relação Preço/Qualidade": "Best Value for Money", "Preços competitivos com funcionalidades premium. Sem custos ocultos, sem surpresas.": "Competitive prices with premium features. No hidden costs, no surprises.", "Clientes Satisfeitos": "Satisfied Clients", "Servidores em Portugal": "Servers in Portugal", "Uptime Garantido": "Guaranteed Uptime", "Excelente": "Excellent" }, es: { "Área de Cliente": "Área de Cliente", "Webmail": "Webmail", "Domínios": "Dominios", "Hosting": "Hosting", "Servidores": "Servidores", "Email": "Correo", "SSL & Segurança": "SSL y Seguridad", "Sites & Marketing": "Sitios y Marketing", "Suporte": "Soporte", "Contactar": "Contacto", "Login": "Acceder", "Registar": "Registrar", "Registar Domínio": "Registrar Dominio", "Transferir Domínio": "Transferir Dominio", "Domínios Expirados": "Dominios Expirados", "Pré-Registo": "Prerregistro", "Domínios Premium": "Dominios Premium", "Informações": "Información", "Todas as Extensões": "Todas las Extensiones", "Novos Domínios gTLD": "Nuevos Dominios gTLD", "Pesquisa WHOIS": "Buscar WHOIS", "Avaliação de Domínio": "Evaluación de Dominio", "Registo Privado": "Registro Privado", "Protecção de Marca": "Protección de Marca", "Gestão de Marca": "Gestión de Marca", "Monitorização": "Monitoreo", "Auditoria de Domínios": "Auditoría de Dominios", "Registo de Marca": "Registro de Marca", "Recuperação": "Recuperación", "Web Hosting": "Alojamiento Web", "Alojamento Linux": "Alojamiento Linux", "Planos Linux": "Planes Linux", "Hosting Windows": "Hosting Windows", "Hosting Reseller": "Hosting Reseller", "Alojamento Premium": "Alojamiento Premium", "WordPress Gerido": "WordPress Gestionado", "WordPress com IA": "WordPress con IA", "Criação de Sites WP": "Creación de Sitios WP", "Manutenção WordPress": "Mantenimiento WordPress", "Criar Loja Online": "Crear Tienda Online", "Planos eCommerce": "Planes eCommerce", "Comparar Soluções": "Comparar Soluciones", "Servidores Virtuais": "Servidores Virtuales", "VPS – Servidores Virtuais": "VPS – Servidores Virtuales", "VPS Gerido": "VPS Gestionado", "Cloud Server": "Servidor Cloud", "Acordo SLA": "Acuerdo SLA", "Servidores Dedicados": "Servidores Dedicados", "Servidores AMD": "Servidores AMD", "Servidores Intel": "Servidores Intel", "Soluções Personalizadas": "Soluciones a Medida", "Colocation": "Colocación", "Cloud & Backup": "Cloud y Backup", "Cloud Backup": "Copia de Seguridad Cloud", "Data Center": "Centro de Datos", "Gestão de Servidor": "Gestión de Servidores", "Suporte Premium": "Soporte Premium", "Email Profissional": "Correo Profesional", "Email Pessoal": "Correo Personal", "Email Pro": "Correo Pro", "Email à Medida": "Correo a Medida", "Comparar Ofertas": "Comparar Ofertas", "Antivírus & Antispam": "Antivirus y Antispam", "Exchange": "Exchange", "SharePoint": "SharePoint", "OneDrive": "OneDrive", "Teams": "Teams", "Office Online": "Office Online", "Certificados SSL": "Certificados SSL", "SSL DV – Domain Validated": "SSL DV – Dominio Validado", "SSL OV – Organization Validated": "SSL OV – Organización Validada", "SSL EV – Extended Validation": "SSL EV – Validación Extendida", "SSL Wildcard": "SSL Wildcard", "Comparar Certificados": "Comparar Certificados", "Protecção": "Protección", "SiteLock": "SiteLock", "Firewall Web": "Firewall Web", "Remoção de Malware": "Eliminación de Malware", "Protecção DDoS": "Protección DDoS", "Criar Site": "Crear Web", "Criar Site Online": "Crear Sitio Online", "Criamos o Seu Site": "Creamos Tu Sitio Web", "Site em WordPress": "Sitio WordPress", "Web Design com IA": "Diseño Web con IA", "Casos de Sucesso": "Casos de Éxito", "Marketing Digital": "Marketing Digital", "SEO & Posicionamento": "SEO y Posicionamiento", "Google Ads": "Google Ads", "Social Media Hub": "Social Media Hub", "Email Marketing": "Email Marketing", "Reputação Online": "Reputación Online", "Central de Ajuda": "Centro de Ayuda", "Abrir Ticket": "Abrir Ticket", "Chat ao Vivo": "Chat en Vivo", "FAQ": "Preguntas Frecuentes", "Estado dos Serviços": "Estado de los Servicios", "Contacto": "Contacto", "Registar Agora": "Registrar Ahora", "Ver Planos": "Ver Planes", "Ver Servidores": "Ver Servidores", "Ver Certificados": "Ver Certificados", "Obter Ajuda": "Obtener Ayuda", "Sobre nós": "Sobre nosotros", "Parceiros": "Socios", "Todos os direitos reservados.": "Todos los derechos reservados.", "Política de Privacidade": "Política de Privacidad", "Termos de Serviço": "Términos de Servicio", "Política de Cookies": "Política de Cookies", "SLA & Condições Gerais": "SLA y Condiciones Generales", "Aceitar": "Aceptar", "Configurações": "Configuración", "Voltar ao topo": "Volver arriba", "Pesquise o seu domínio perfeito": "Busque su dominio perfecto", "Encontre o nome ideal para o seu projeto online": "Encuentre el nombre ideal para su proyecto online", "Pesquisar": "Buscar", "Alojamento Web de Alta Performance": "Alojamiento Web de Alto Rendimiento", "Servidores Dedicados e Cloud VPS em Portugal": "Servidores Dedicados y Cloud VPS en Portugal", "Escolher Plano de Email": "Elegir Plan de Correo", "SSL Incluído com Hosting": "SSL Incluido con Hosting", "Escolha o seu plano de email": "Elija su plan de correo", "Começar é simples": "Empezar es sencillo", "Escolha o Domínio": "Elija el Dominio", "Crie as Contas": "Cree las Cuentas", "Ligue-se": "Conéctese", "MAIS POPULAR": "MÁS POPULAR", "Uptime Garantido": "Tiempo de Actividad Garantizado", "Spam Bloqueado": "Spam Bloqueado", "Encriptação TLS": "Encriptación TLS", "Segurança de Classe Empresarial": "Seguridad de Clase Empresarial", "Qual é a melhor opção para si?": "¿Cuál es la mejor opción para usted?", "Email com domínio próprio": "Correo con dominio propio", "Acesso Webmail/Mobile": "Acceso Webmail/Móvil", "Calendários Partilhados": "Calendarios Compartidos", "Videochamadas (Teams)": "Videollamadas (Teams)", "Aplicações Office (Word, Excel)": "Aplicaciones de Office (Word, Excel)", "Armazenamento Cloud (OneDrive)": "Almacenamiento en la Nube (OneDrive)", "Funcionalidade": "Funcionalidad", "Email Tradicional": "Correo Tradicional", "Microsoft 365": "Microsoft 365", "Perguntas Frequentes": "Preguntas Frecuentes", "Posso usar o email no meu telemóvel?": "¿Puedo usar el correo en mi móvil?", "É possível migrar as minhas mensagens antigas?": "¿Es posible migrar mis mensajes antiguos?", "Posso ter aliases (redirecionamentos) ilimitados?": "¿Puedo tener alias (redireccionamientos) ilimitados?", "O que acontece se precisar de mais espaço?": "¿Qué pasa si necesito más espacio?", "Como funciona a proteção Antispam?": "¿Cómo funciona la protección Antispam?", "Pronto para profissionalizar a sua comunicação?": "¿Listo para profesionalizar su comunicación?", "Junte-se a milhares de empresas portuguesas que confiam na Logins.pt.": "Únase a miles de empresas que confían en Logins.pt.", "Email Pessoal": "Correo Personal", "Email Starter": "Correo Starter", "Email Business": "Correo Business", "Email Enterprise": "Correo Enterprise", "Selecionar": "Seleccionar", "Selecionar Business": "Seleccionar Business", "Por que escolher a Logins.pt?": "¿Por qué elegir Logins.pt?", "Mais de 20 anos": "Más de 20 años", "a servir Portugal": "sirviendo a Portugal", "Somos parceiros oficiais de registo .pt e oferecemos a melhor combinação de qualidade, preço e suporte em português do mercado.": "Somos socios oficiales de registro .pt y ofrecemos la mejor combinación de calidad, precio y soporte en portugués del mercado.", "Suporte Humano 24/7": "Soporte Humano 24/7", "Fale com especialistas em português por telefone, chat ou email a qualquer hora do dia.": "Hable con especialistas en portugués por teléfono, chat o correo electrónico a cualquier hora del día.", "Velocidade Comprovada": "Velocidad Comprobada", "Servidores SSD NVMe em Portugal com latência mínima e tempos de carregamento ultrarrápidos.": "Servidores SSD NVMe en Portugal con latencia mínima y tiempos de carga ultrarrápidos.", "Segurança Máxima": "Máxima Seguridad", "SSL gratuito, protecção DDoS, firewall Web e backups automáticos para dormir descansado.": "SSL incluido, protección DDoS, firewall Web y copias de seguridad automáticas para dormir tranquilo.", "Melhor Relação Preço/Qualidade": "Mejor Relación Precio/Calidad", "Preços competitivos com funcionalidades premium. Sin costes ocultos, sin sorpresas.": "Precios competitivos con funcionalidades premium. Sin costes ocultos, sin sorpresas.", "Clientes Satisfeitos": "Clientes Satisfechos", "Servidores em Portugal": "Servidores en Portugal", "Uptime Garantido": "Uptime Garantizado", "Excelente": "Excelente" }, fr: { "Área de Cliente": "Espace Client", "Webmail": "Webmail", "Domínios": "Domaines", "Hosting": "Hébergement", "Servidores": "Serveurs", "Email": "E-mail", "SSL & Segurança": "SSL & Sécurité", "Sites & Marketing": "Sites & Marketing", "Suporte": "Support", "Contactar": "Contactez-nous", "Login": "Connexion", "Registar": "Enregistrer", "Registar Domínio": "Enregistrer Domaine", "Transferir Domínio": "Transférer Domaine", "Domínios Expirados": "Domaines Expirés", "Pré-Registo": "Pré-enregistrement", "Domínios Premium": "Domaines Premium", "Informações": "Informations", "Todas as Extensões": "Toutes les Extensions", "Novos Domínios gTLD": "Nouveaux Domaines gTLD", "Pesquisa WHOIS": "Recherche WHOIS", "Avaliação de Domínio": "Évaluation de Domaine", "Registo Privado": "Enregistrement Privé", "Protecção de Marca": "Protection de Marque", "Gestão de Marca": "Gestion de Marque", "Monitorização": "Surveillance", "Auditoria de Domínios": "Audit de Domaines", "Registo de Marca": "Enregistrement de Marque", "Recuperação": "Récupération", "Web Hosting": "Hébergement Web", "Alojamento Linux": "Hébergement Linux", "Planos Linux": "Offres Linux", "Hosting Windows": "Hébergement Windows", "Hosting Reseller": "Hébergement Revendeur", "Alojamento Premium": "Hébergement Premium", "WordPress Gerido": "WordPress Géré", "WordPress com IA": "WordPress avec IA", "Criação de Sites WP": "Création de Sites WP", "Manutenção WordPress": "Maintenance WordPress", "Criar Loja Online": "Créer une Boutique en Ligne", "Planos eCommerce": "Plans eCommerce", "Comparar Soluções": "Comparer les Solutions", "Servidores Virtuais": "Serveurs Virtuels", "VPS – Servidores Virtuais": "VPS – Serveurs Virtuels", "VPS Gerido": "VPS Géré", "Cloud Server": "Serveur Cloud", "Acordo SLA": "Accord SLA", "Servidores Dedicados": "Serveurs Dédiés", "Servidores AMD": "Serveurs AMD", "Servidores Intel": "Serveurs Intel", "Soluções Personalizadas": "Solutions Personnalisées", "Colocation": "Colocation", "Cloud & Backup": "Cloud & Sauvegarde", "Cloud Backup": "Sauvegarde Cloud", "Data Center": "Centre de Données", "Gestão de Servidor": "Gestion de Serveur", "Suporte Premium": "Support Premium", "Email Profissional": "E-mail Professionnel", "Email Pessoal": "E-mail Personnel", "Email Pro": "E-mail Pro", "Email à Medida": "E-mail Sur Mesure", "Comparar Ofertas": "Comparer les Offres", "Antivírus & Antispam": "Antivirus et Antispam", "Exchange": "Exchange", "SharePoint": "SharePoint", "OneDrive": "OneDrive", "Teams": "Teams", "Office Online": "Office Online", "Certificados SSL": "Certificats SSL", "SSL DV – Domain Validated": "SSL DV – Domaine Validé", "SSL OV – Organization Validated": "SSL OV – Organisation Validée", "SSL EV – Extended Validation": "SSL EV – Validation Étendue", "SSL Wildcard": "SSL Wildcard", "Comparar Certificados": "Comparer les Certificats", "Protecção": "Protection", "SiteLock": "SiteLock", "Firewall Web": "Firewall Web", "Remoção de Malware": "Suppression de Malware", "Protecção DDoS": "Protection DDoS", "Criar Site": "Créer un Site", "Criar Site Online": "Créer un Site en Ligne", "Criamos o Seu Site": "Nous Créons Votre Site Web", "Site em WordPress": "Site WordPress", "Web Design com IA": "Conception Web avec IA", "Casos de Sucesso": "Études de Cas", "Marketing Digital": "Marketing Numérique", "SEO & Posicionamento": "SEO & Positionnement", "Google Ads": "Google Ads", "Social Media Hub": "Social Media Hub", "Email Marketing": "Email Marketing", "Reputação Online": "Réputation en Ligne", "Central de Ajuda": "Centre d'Aide", "Abrir Ticket": "Ouvrir un Ticket", "Chat ao Vivo": "Chat en Direct", "FAQ": "Foire Aux Questions", "Estado dos Serviços": "État des Services", "Contacto": "Contact", "Registar Agora": "Enregistrer Maintenant", "Ver Planos": "Voir les Offres", "Ver Servidores": "Voir les Serveurs", "Ver Certificados": "Voir les Certificats", "Obter Ajuda": "Obtenir de l'Aide", "Sobre nós": "À propos de nous", "Parceiros": "Partenaires", "Todos os direitos reservados.": "Tous droits réservés.", "Política de Privacidade": "Politique de Confidentialité", "Termos de Serviço": "Conditions de Service", "Política de Cookies": "Politique relative aux Cookies", "SLA & Condições Gerais": "SLA & Conditions Générales", "Aceitar": "Accepter", "Configurações": "Paramètres", "Voltar ao topo": "Retour en haut", "Pesquise o seu domínio perfeito": "Recherchez votre domaine parfait", "Encontre o nome ideal para o seu projeto online": "Trouvez le nom idéal pour votre projet en ligne", "Pesquisar": "Rechercher", "Alojamento Web de Alta Performance": "Hébergement Web Haute Performance", "Servidores Dedicados e Cloud VPS em Portugal": "Serveurs Dédiés et Cloud VPS au Portugal", "Escolher Plano de Email": "Choisir le Plan d'E-mail", "SSL Incluído com Hosting": "SSL Inclus avec Hébergement", "Escolha o seu plano de email": "Choisissez votre plan d'e-mail", "Começar é simples": "Commencer est simple", "Escolha o Domínio": "Choisissez le Domaine", "Crie as Contas": "Créez les Comptes", "Ligue-se": "Connectez-vous", "MAIS POPULAR": "LE PLUS POPULAIRE", "Uptime Garantido": "Temps de Disponibilité Garanti", "Spam Bloqueado": "Spam Bloqué", "Encriptação TLS": "Chiffrement TLS", "Segurança de Classe Empresarial": "Sécurité de Classe Entreprise", "Qual é a melhor opção para si?": "Quelle est la meilleure option pour vous?", "Email com domínio próprio": "E-mail avec domaine propre", "Acesso Webmail/Mobile": "Accès Webmail/Mobile", "Calendários Partilhados": "Agendas Partagés", "Videochamadas (Teams)": "Vidéoconférences (Teams)", "Aplicações Office (Word, Excel)": "Applications Office (Word, Excel)", "Armazenamento Cloud (OneDrive)": "Stockage Cloud (OneDrive)", "Funcionalidade": "Fonctionnalité", "Email Tradicional": "E-mail Traditionnel", "Microsoft 365": "Microsoft 365", "Perguntas Frequentes": "Questions Fréquentes", "Posso usar o email no meu telemóvel?": "Puis-je utiliser l'e-mail sur mon téléphone ?", "É possível migrar as minhas mensagens antigas?": "Est-il possible de migrer mes anciens messages ?", "Posso ter aliases (redirecionamentos) ilimitados?": "Puis-je avoir des alias (redirections) illimités ?", "O que acontece se precisar de mais espaço?": "Que se passe-t-il si j'ai besoin de plus d'espace ?", "Como funciona a protection Antispam?": "Comment fonctionne la protection Antispam ?", "Pronto para profissionalizar a sua comunicação?": "Prêt à professionnaliser votre communication ?", "Junte-se a milhares de empresas portuguesas que confiam na Logins.pt.": "Rejoignez des intellects qui font confiance à Logins.pt.", "Email Pessoal": "E-mail Personnel", "Email Starter": "E-mail Starter", "Email Business": "E-mail Business", "Email Enterprise": "E-mail Enterprise", "Selecionar": "Sélectionner", "Selecionar Business": "Sélectionner Business", "Por que escolher a Logins.pt?": "Pourquoi choisir Logins.pt ?", "Mais de 20 anos": "Plus de 20 ans", "a servir Portugal": "au service du Portugal", "Somos parceiros oficiais de registo .pt e oferecemos a melhor combinação de qualidade, preço e suporte em português do mercado.": "Nous sommes des partenaires d'enregistrement officiels .pt et offrons la meilleure combinaison de qualité, prix et assistance en portugais sur le marché.", "Suporte Humano 24/7": "Support Humain 24/7", "Fale com especialistas em português por telefone, chat ou email a qualquer hora do dia.": "Parlez avec des spécialistes en portugais par téléphone, chat ou e-mail à tout moment de la journée.", "Velocidade Comprovada": "Vitesse Prouvée", "Servidores SSD NVMe em Portugal com latência mínima e tempos de carregamento ultrarrápidos.": "Serveurs SSD NVMe au Portugal avec une latence minimale et des temps de chargement ultra-rapides.", "Segurança Máxima": "Sécurité Maximale", "SSL gratuito, protecção DDoS, firewall Web e backups automáticos para dormir descansado.": "SSL inclus, protection DDoS, pare-feu Web et sauvegardes automatiques pour dormir sur vos deux oreilles.", "Melhor Relação Preço/Qualidade": "Meilleur Rapport Qualité/Prix", "Preços competitivos com funcionalidades premium. Sem custos ocultos, sem surpresas.": "Prix compétitifs avec des fonctionnalités premium. Pas de coûts cachés, pas de surprises.", "Clientes Satisfeitos": "Clients Satisfaits", "Servidores em Portugal": "Serveurs au Portugal", "Uptime Garantido": "Uptime Garanti", "Excelente": "Excellent" } }; const TOPBAR_HTML = `
+351 938 159 327 contact@logins.pt Portugal & Europa
`; const HEADER_HTML = ` `; const FOOTER_HTML = ` `; function injectComponents() { var body = document.body; // 1. Remove ALL existing topbars, headers, footers, navbars, cookie banners, back-to-top document.querySelectorAll('.topbar').forEach(function(el) { el.remove(); }); document.querySelectorAll('header').forEach(function(el) { el.remove(); }); document.querySelectorAll('nav.navbar').forEach(function(el) { el.remove(); }); document.querySelectorAll('footer').forEach(function(el) { el.remove(); }); document.querySelectorAll('.cookie-banner').forEach(function(el) { el.remove(); }); document.querySelectorAll('.back-to-top').forEach(function(el) { el.remove(); }); // Also remove any previously injected wrappers var oldHeaderWrapper = document.getElementById('shared-header-injected'); if (oldHeaderWrapper) oldHeaderWrapper.remove(); var oldFooterWrapper = document.getElementById('shared-footer-injected'); if (oldFooterWrapper) oldFooterWrapper.remove(); // 2. Inject unified TOPBAR + HEADER at the top of body var headerWrapper = document.createElement('div'); headerWrapper.id = 'shared-header-injected'; headerWrapper.innerHTML = TOPBAR_HTML + HEADER_HTML; body.insertBefore(headerWrapper, body.firstChild); // 3. Inject unified FOOTER + COOKIE + BACK-TO-TOP at the bottom of body var footerWrapper = document.createElement('div'); footerWrapper.id = 'shared-footer-injected'; footerWrapper.innerHTML = FOOTER_HTML; body.appendChild(footerWrapper); // 4. Highlight current page in nav setTimeout(function() { var currentPage = window.location.pathname.split('/').pop() || 'index.html'; document.querySelectorAll('.nav-list .nav-link').forEach(function(link) { var href = link.getAttribute('href'); if (href && href !== '#' && currentPage === href.split('#')[0]) { link.style.color = '#60a5fa'; } }); }, 50); // 5. Initialize Theme Toggle state & click listener var themeToggleBtn = document.getElementById('theme-toggle-btn'); var themeToggleIcon = document.getElementById('theme-toggle-icon'); if (themeToggleBtn && themeToggleIcon) { var isLight = document.body.classList.contains('light-theme'); themeToggleIcon.className = isLight ? 'fas fa-sun' : 'fas fa-moon'; themeToggleBtn.addEventListener('click', function() { var currentlyLight = document.body.classList.contains('light-theme'); if (currentlyLight) { document.body.classList.remove('light-theme'); themeToggleIcon.className = 'fas fa-moon'; localStorage.setItem('theme', 'dark'); } else { // document.body.classList.add('light-theme'); themeToggleIcon.className = 'fas fa-sun'; localStorage.setItem('theme', 'light'); } fixLightModeTextContrast(); }); } // Helper functions for translation var textNodes = []; var inputPlaceholders = []; function saveOriginalTexts() { textNodes = []; inputPlaceholders = []; function walk(node) { if (node.nodeType === 3) { // Text Node var text = node.nodeValue.trim(); if (text && text.length > 1) { var parent = node.parentElement; if (parent && parent.tagName !== 'SCRIPT' && parent.tagName !== 'STYLE' && parent.tagName !== 'TEXTAREA') { node.originalText = node.nodeValue; textNodes.push(node); } } } else if (node.nodeType === 1 && node.nodeName !== 'SCRIPT' && node.nodeName !== 'STYLE') { if (node.placeholder) { node.setAttribute('data-orig-placeholder', node.placeholder); inputPlaceholders.push(node); } for (var i = 0; i < node.childNodes.length; i++) { walk(node.childNodes[i]); } } } walk(document.body); } function applyTranslations(lang) { const dict = TRANSLATIONS[lang]; const flagMap = { pt: '🇵🇹', en: '🇬🇧', es: '🇪🇸', fr: '🇫🇷' }; const nameMap = { pt: 'PT', en: 'EN', es: 'ES', fr: 'FR' }; const flagEl = document.getElementById('current-lang-flag'); const nameEl = document.getElementById('current-lang-name'); if (flagEl) flagEl.textContent = flagMap[lang] || '🇵🇹'; if (nameEl) nameEl.textContent = nameMap[lang] || 'PT'; if (lang === 'pt') { // Restore all text nodes to their original Portuguese values textNodes.forEach(function(node) { node.nodeValue = node.originalText; }); inputPlaceholders.forEach(function(el) { el.placeholder = el.getAttribute('data-orig-placeholder'); }); return; } if (!dict) return; // Sort dictionary keys by length descending to match larger sentences first const dictKeys = Object.keys(dict).sort(function(a, b) { return b.length - a.length; }); // Translate text nodes textNodes.forEach(function(node) { var orig = node.originalText; var trimmed = orig.trim(); // 1. Try exact match of the trimmed text if (dict[trimmed]) { node.nodeValue = orig.replace(trimmed, dict[trimmed]); } else { // 2. Try substring match of dict keys var newVal = orig; var replaced = false; for (var i = 0; i < dictKeys.length; i++) { var key = dictKeys[i]; // Only replace words/phrases longer than 3 characters to avoid collision if (key.length > 3 && newVal.indexOf(key) !== -1) { newVal = newVal.replace(new RegExp(escapeRegExp(key), 'g'), dict[key]); replaced = true; } } if (replaced) { node.nodeValue = newVal; } } }); // Translate placeholders inputPlaceholders.forEach(function(el) { var orig = el.getAttribute('data-orig-placeholder'); if (dict[orig]) { el.placeholder = dict[orig]; } }); } // Helper to escape regex special chars function escapeRegExp(string) { return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); } // Helper function to globally fix light theme text contrast dynamically function fixLightModeTextContrast() { if (!document.body.classList.contains('light-theme')) { document.querySelectorAll('[data-light-color-fix]').forEach(function(el) { el.style.color = el.getAttribute('data-light-color-fix'); el.removeAttribute('data-light-color-fix'); }); return; } const keepWhiteSelectors = [ '.btn', '.btn-primary', '.btn-success', '.btn-ecom', '.btn-cta-primary', '.btn-light', '.btn-theme-toggle', '.tag-promo', '.offer-badge', '.promo-badge', '.popular-badge', '.section-badge', '.promo-badge-new', '.why-stat-card.accent', '.pricing-card.featured', '.plan-card.popular', '.plan-card.featured', '.price-card.featured', '.pricing-card.popular', '.service-card.featured', '.hero-slide', '.hero-slider-container', '.cta-section', '.footer-bottom', '.page-hero:not(.page-hero-light)', '.page-hero-bg', '.badge', '.logo-icon', '.why-icon', '.step-number', '.timeline-icon', '.stat-icon', 'button', 'a.btn', 'input[type="submit"]', 'input[type="button"]', '.btn-success', '.btn-promo', '.btn-light', '.btn-outline:hover', '.extra-card h3', '.m365-content', '.setup-guide', '.how-it-works' ]; function shouldKeepWhite(el) { for (var i = 0; i < keepWhiteSelectors.length; i++) { if (el.closest(keepWhiteSelectors[i])) return true; } var cur = el; while (cur && cur !== document.body) { var bgImg = window.getComputedStyle(cur).backgroundImage; if (bgImg && bgImg.indexOf('linear-gradient') !== -1) { if (cur.className.indexOf('page-hero-light') === -1) { return true; } } var bg = window.getComputedStyle(cur).backgroundColor; if (bg && bg !== 'transparent' && bg !== 'rgba(0, 0, 0, 0)') { var match = bg.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/); if (match) { var r = parseInt(match[1]); var g = parseInt(match[2]); var b = parseInt(match[3]); var lum = 0.299 * r + 0.587 * g + 0.114 * b; if (lum < 140) { return true; } return false; } } cur = cur.parentElement; } return false; } const elements = document.body.getElementsByTagName('*'); for (var i = 0; i < elements.length; i++) { var el = elements[i]; if (el.tagName === 'SCRIPT' || el.tagName === 'STYLE' || el.tagName === 'I' || el.tagName === 'SVG' || el.tagName === 'PATH') { continue; } var styleAttr = el.getAttribute('style') || ''; var colorMatch = styleAttr.match(/color\s*:\s*(white|#fff|#ffffff|rgb\(\s*255\s*,\s*255\s*,\s*255\s*\)|rgba\(\s*255\s*,\s*255\s*,\s*255\s*,\s*1\s*\))/i); var computedColor = window.getComputedStyle(el).color; var isWhiteText = computedColor === 'rgb(255, 255, 255)' || computedColor === 'rgba(255, 255, 255, 1)' || colorMatch; if (isWhiteText && !shouldKeepWhite(el)) { if (!el.hasAttribute('data-light-color-fix')) { el.setAttribute('data-light-color-fix', el.style.color || 'white'); } el.style.setProperty('color', '#0f172a', 'important'); } } } // Save originals and apply initial translation saveOriginalTexts(); var currentLang = localStorage.getItem('lang') || 'pt'; applyTranslations(currentLang); fixLightModeTextContrast(); // Setup Lang selection listeners var langOpts = document.querySelectorAll('.lang-opt'); langOpts.forEach(function(opt) { opt.addEventListener('click', function(e) { e.preventDefault(); var selectedLang = opt.getAttribute('data-lang'); localStorage.setItem('lang', selectedLang); applyTranslations(selectedLang); fixLightModeTextContrast(); }); }); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', injectComponents); } else { injectComponents(); } })();