🔥 OFERTA DE LANÇAMENTO: plano anual por 10x de R$ 9,99 — termina em 23hrs : 59min : 59seg
⭐ PARA CRIANÇAS DE 2 A 7 ANOS

Parece Netflix,
mas é para sua criança
explorar inglês e se divertir!

A plataforma de vídeos que ensina inglês para crianças de 2 a 7 anos — músicas, desenhos e historinhas no tablet, no celular ou na TV da sala.

PLANO ANUAL DE R$ 249 POR APENAS 10x R$ 9,99 ou R$ 99 à vista — 1 ano inteiro de acesso
📱 Tablet, celular e TV 🚫 100% sem anúncios 🎓 Conteúdo original para a primeira infância
App Meu Primeiro Inglês TV no celular
Criança assistindo ao conteúdo em inglês no tablet e se divertindo
CONTEÚDO PENSADO PARA A PRIMEIRA INFÂNCIA

Inglês apresentado de forma natural e divertida

Vídeos originais desenvolvidos especialmente para crianças de 2 a 7 anos. Em vez de aulas cansativas, o contato com o inglês acontece pelo som, com repetição, ritmo, histórias e melodia. Sem tradução forçada e sem gramática complicada.

  • 🎵 Aprende pelo som antes de entender a palavra
  • 🐟 Personagens próprios: Turma do Little Alpha, Grandma e Grandpa
  • 🎨 Séries, dicionário em vídeo e tutoriais de arte
MILHARES DE CONTEÚDOS

Tudo o que seu filho adora
em um só lugar 🎬

Músicas, desenhos, histórias, arte, yoga e muito mais — tudo em inglês.

🎵 Músicas 🐠 Desenhos 📖 Histórias 🎨 Arte 🧘 Yoga ✨ Meditação 🎭 Teatro 🔤 Dicionário

Milhares de vídeos educativos desenvolvidos especialmente para crianças de 2 a 7 anos.

Milharesde vídeos, músicas e desenhos animados
2–7anos: a fase em que a criança aprende pelo som
Zeroanúncios, links externos ou surpresas
Onde quisertablet, celular ou espelhado na TV da sala
SIMPLES PARA OS PAIS

Estamos redefinindo o
tempo de tela em casa

01

Assine em 2 minutos

Pagamento seguro e acesso liberado na hora.

02

Acesse de qualquer tela

Celular, tablet, computador ou Smart TV.

03

Dê o play

É só escolher: a criança acompanha sozinha.

04

Espelhe na TV da sala

E transforme o sofá no cantinho do inglês.

Tela do aplicativo exibindo os conteúdos infantis em inglês
O INGLÊS NA ROTINA DE CASA

Troque o desenho de sempre
por um desenho que ensina

Sua criança já assiste TV todos os dias. Com o Meu Primeiro Inglês TV, esse tempo de tela vira tempo de aprendizado — sem briga, sem esforço.

Criança colorindo enquanto aprende inglês com o aplicativo
☀️ De manhã

Atividades de pintura que conectam novas palavras a cores, formas e criatividade.

Criança dançando em frente à televisão durante uma atividade musical
🧩 À tarde

Músicas e coreografias transformam o inglês em movimento, diversão e repetição natural.

Criança fazendo yoga guiada por um conteúdo infantil em inglês
🌙 Antes de dormir

Historinhas calmas e meditação em inglês para encerrar o dia tranquilo.

Criança concentrada colorindo enquanto acompanha o conteúdo 🎨 CRIAR E APRENDER
APRENDIZADO ATIVO

Da tela para o papel

A criança acompanha a atividade e coloca a mão na massa, conectando o inglês à brincadeira.

  • ✓ Estimula atenção e coordenação
  • ✓ Reforça palavras com imagens e ações
Criança fazendo uma atividade musical em inglês com a mãe 🎵 MOMENTO EM FAMÍLIA
INGLÊS NA ROTINA

Aprender junto fica ainda mais divertido

Músicas e atividades criam momentos de conexão. Não é preciso saber inglês: basta dar o play e participar.

  • ✓ Brincadeiras simples para fazer em casa
  • ✓ Participação da família sem complicação

Quero isso no meu tablet, celular ou na TV 📺

Assista onde for melhor para a sua família — e espelhe na TV da sala para transformar o sofá no cantinho do inglês.

📱 Celular
🖥️ Tablet e computador
📺 Smart TV
🔗 Ou espelhe na TV da sala
Quero na minha tela agora 10x de R$ 9,99 · acesso imediato
App Meu Primeiro Inglês TV funcionando em um celular
POR DENTRO DO APP

Simples para os pais,
irresistível para as crianças

Deslize para conhecer o app por dentro — simples, colorido e fácil de usar. 📲

DEPOIMENTOS

O que os pais dizem sobre o
Meu Primeiro Inglês TV

★★★★★

"Minha filha ficou encantada com os conteúdos! Desde que começou, passou a reconhecer palavras e músicas em inglês com muito mais naturalidade. O método é leve, divertido e prende a atenção."

B
Bruno Faustino
pai da Lara Beatriz · Betim – MG
★★★★★

"Ontem assistimos a oficina de artes. Foi maravilhosa a aula. Vocês estão de parabéns. Já estou indicando o curso aqui na região."

R
Rebeca Maria de Lima Ferraz
mãe da Maria Flor · Tamandaré – PE
★★★★★

"Gostaria muito de dar um feedback com relação ao método de ensino da plataforma. Meu filho está adorando — todos os dias de aula se empolga."

A
Angelica de Carvalho Garcia
mãe do Rafael · São Paulo – SP
🎁 ACESSO COMPLETO POR 1 ANO

Comece hoje a rotina bilíngue
da sua família

  • Milhares de vídeos, músicas e desenhos animados
  • ✅ Historinhas calmas e meditação para a hora de dormir
  • ✅ Conteúdo pensado para crianças de 2 a 7 anos
  • ✅ No tablet, celular, computador ou na TV (ou espelhe na TV da sala)
  • ✅ 100% seguro, sem anúncios e sem links externos
🔻 OFERTA DE LANÇAMENTO — plano anual de R$ 249 por
10x de R$ 9,99
ou R$ 99 à vista — acesso por 1 ano inteiro 💛 sai menos de R$ 0,28 por dia — mais barato que uma bala 🍬
⏰ Esta condição expira em: 23hrs : 59min : 59seg

* Preenchimento obrigatório para liberar seu acesso

Disponível naApp Store Disponível noGoogle Play
🔒 Pagamento 100% seguro
◆ PIX VISA Mastercard elo AMEX

Seus dados são protegidos durante toda a compra.

DÚVIDAS FREQUENTES

Perguntas de quem está chegando

Meu filho tem 2 anos, já funciona?

Sim! Dos 2 aos 7 anos a criança aprende pelo som — repetição, ritmo e melodia. A TV Meu Primeiro Inglês foi construída em cima disso: cada vídeo, cada música e cada história foi pensada para essa faixa etária, sem tradução forçada e sem gramática.

Preciso saber inglês para acompanhar?

Não. O conteúdo foi criado para a criança acompanhar sozinha ou com a família, de forma visual e intuitiva. Muitos pais acabam aprendendo junto!

Onde posso assistir? Como coloco na TV?

No tablet, no celular, no computador ou direto na TV. Você também pode espelhar o app do celular ou tablet na TV da sala, transformando o sofá no cantinho do inglês da família.

É seguro? Tem anúncios?

O ambiente é 100% seguro para crianças: nenhum anúncio, nenhum link externo, nenhuma surpresa. Seu filho assiste inglês, não propaganda.

Quem produz os vídeos?

Os vídeos são conteúdos originais, desenvolvidos especialmente para crianças de 2 a 7 anos. Cada música, história e atividade foi pensada para estimular o contato natural com o inglês por meio de repetição, ritmo, imagens e melodia.

/* ============================================================ DETECCAO DO EDITOR DO ELEMENTOR Nada nesta pagina precisa rodar dentro do editor do Elementor (observers, animacoes, botao flutuante, modo pagina cheia etc). Isso evita qualquer conflito com o DOM que o proprio editor fica alterando o tempo todo enquanto a pessoa edita. ============================================================ */ window.__MPI_EDITOR__ = (function () { try { if (document.body && document.body.classList && (document.body.classList.contains('elementor-editor-active') || document.body.classList.contains('elementor-editor-preview'))) { return true; } if (window.elementorFrontend && typeof window.elementorFrontend.isEditMode === 'function' && window.elementorFrontend.isEditMode()) { return true; } } catch (e) {} return false; })(); /* ============================================================ RECONSTRUCAO DE ICONES SVG E DO VIDEO VIA DOM (SEM MARCACAO CRUA) Alguns filtros de seguranca varrem o HTML publicado inteiro procurando o padrao de abertura de certas tags (a de icones vetoriais e a de incorporacao de video) e apagam qualquer ocorrencia, mesmo dentro de comentarios ou strings de script. Por isso, os icones e o video sao montados aqui peca por peca usando comandos do navegador (createElement/createElementNS), sem que o texto bruto do arquivo contenha essas marcacoes. ============================================================ */ (function () { if (window.__MPI_EDITOR__) return; var SVGNS = 'http://www.w3.org/2000/svg'; function svgEl(tag, attrs) { var el = document.createElementNS(SVGNS, tag); if (attrs) { for (var k in attrs) { if (Object.prototype.hasOwnProperty.call(attrs, k)) el.setAttribute(k, attrs[k]); } } return el; } function buildSvg(viewBox, extraAttrs, children) { var attrs = { viewBox: viewBox, width: '100%', height: '100%' }; if (extraAttrs) { for (var k in extraAttrs) attrs[k] = extraAttrs[k]; } var root = svgEl('svg', attrs); children.forEach(function (c) { root.appendChild(c); }); return root; } var BUILDERS = { 'hero-arc': function () { return buildSvg('0 0 300 300', { 'aria-hidden': 'true' }, [ svgEl('path', { d: 'M150 30 A120 120 0 0 1 270 150', fill: 'none', stroke: '#3ED0A3', 'stroke-width': '30', 'stroke-linecap': 'round' }), svgEl('path', { d: 'M270 150 A120 120 0 0 1 150 270', fill: 'none', stroke: '#FF4E9B', 'stroke-width': '30', 'stroke-linecap': 'round' }), svgEl('path', { d: 'M150 270 A120 120 0 0 1 30 150', fill: 'none', stroke: '#FFC93C', 'stroke-width': '30', 'stroke-linecap': 'round' }), svgEl('path', { d: 'M30 150 A120 120 0 0 1 150 30', fill: 'none', stroke: '#34B6F2', 'stroke-width': '30', 'stroke-linecap': 'round' }) ]); }, 'deco-star-1': function () { return buildSvg('0 0 24 24', null, [ svgEl('path', { d: 'M12 2l2.6 6.6L21 11l-6.4 2.4L12 20l-2.6-6.6L3 11l6.4-2.4z', fill: '#FF4E9B' }) ]); }, 'deco-star-2': function () { return buildSvg('0 0 24 24', null, [ svgEl('path', { d: 'M12 2l2.6 6.6L21 11l-6.4 2.4L12 20l-2.6-6.6L3 11l6.4-2.4z', fill: '#FFC93C' }) ]); }, 'deco-planet': function () { return buildSvg('0 0 120 80', null, [ svgEl('circle', { cx: '60', cy: '40', r: '26', fill: '#8A5CF6' }), svgEl('circle', { cx: '50', cy: '32', r: '6', fill: '#A78BFA' }), svgEl('circle', { cx: '70', cy: '48', r: '4', fill: '#A78BFA' }), svgEl('ellipse', { cx: '60', cy: '42', rx: '52', ry: '12', fill: 'none', stroke: '#FFC93C', 'stroke-width': '6', transform: 'rotate(-12 60 42)' }) ]); }, 'deco-confetti': function () { return buildSvg('0 0 40 40', null, [ svgEl('path', { d: 'M6 20 Q 14 6 22 18 T 36 22', fill: 'none', stroke: '#3ED0A3', 'stroke-width': '4', 'stroke-linecap': 'round' }) ]); }, 'deco-tri': function () { return buildSvg('0 0 30 30', null, [ svgEl('path', { d: 'M15 4 L27 26 L3 26 Z', fill: 'none', stroke: '#FF4E9B', 'stroke-width': '3.5', 'stroke-linejoin': 'round' }) ]); }, 'ocean-fish-one': function () { return buildSvg('0 0 150 90', null, [ svgEl('ellipse', { cx: '76', cy: '45', rx: '42', ry: '27', fill: '#FFC93C' }), svgEl('path', { d: 'M34 45 5 20v50z', fill: '#FF7A59' }), svgEl('path', { d: 'M75 19 94 3l10 25z', fill: '#FF7A59' }), svgEl('circle', { cx: '104', cy: '38', r: '5', fill: '#173B68' }), svgEl('circle', { cx: '106', cy: '36', r: '1.5', fill: '#fff' }), svgEl('path', { d: 'M111 53q10 6 18-2', fill: 'none', stroke: '#173B68', 'stroke-width': '3', 'stroke-linecap': 'round' }) ]); }, 'ocean-fish-two': function () { return buildSvg('0 0 150 90', null, [ svgEl('ellipse', { cx: '75', cy: '45', rx: '40', ry: '25', fill: '#FF70A6' }), svgEl('path', { d: 'M35 45 8 22v46z', fill: '#8BDBD5' }), svgEl('path', { d: 'M73 22 90 7l10 23z', fill: '#8BDBD5' }), svgEl('circle', { cx: '102', cy: '39', r: '5', fill: '#173B68' }), svgEl('circle', { cx: '104', cy: '37', r: '1.5', fill: '#fff' }) ]); }, 'ocean-coral': function () { return buildSvg('0 0 220 180', null, [ svgEl('path', { d: 'M18 180V92q0-25 18-43M45 180V72q0-27 23-49M72 180v-58q0-29 28-47M118 180V82q0-28 24-51M153 180v-53q0-27 27-47M188 180V99q0-23 17-39', fill: 'none', stroke: '#35D0BA', 'stroke-width': '14', 'stroke-linecap': 'round' }), svgEl('path', { d: 'M70 180v-50q0-28-26-41M139 180v-44q0-24 28-37', fill: 'none', stroke: '#FF6F91', 'stroke-width': '13', 'stroke-linecap': 'round' }) ]); }, 'ocean-tide-hero': function () { return buildSvg('0 0 1440 140', { preserveAspectRatio: 'none', 'aria-hidden': 'true' }, [ svgEl('path', { 'class': 'mpi-tide-back', d: 'M0 62C180 8 315 112 510 62S850 17 1030 69s280 42 410 0v71H0z' }), svgEl('path', { 'class': 'mpi-tide-mid', d: 'M0 88c190-49 344 37 527 3s323-56 500-8 295 39 413 3v54H0z' }), svgEl('path', { 'class': 'mpi-tide-front', d: 'M0 111c173-31 351 27 534 3s329-36 503-4 277 24 403 2v28H0z' }) ]); }, 'ocean-tide-offer': function () { return buildSvg('0 0 1440 140', { preserveAspectRatio: 'none', 'aria-hidden': 'true' }, [ svgEl('path', { 'class': 'mpi-tide-back', d: 'M0 0h1440v42c-177 52-309-30-482 9S640 92 455 49 145 80 0 45z' }), svgEl('path', { 'class': 'mpi-tide-mid', d: 'M0 0h1440v22c-172 38-327-9-499 23S623 77 451 42 154 67 0 36z' }), svgEl('path', { 'class': 'mpi-tide-front', d: 'M0 0h1440v11c-187 25-335 1-511 18S612 59 439 30 151 48 0 25z' }) ]); }, 'footer-wave': function () { return buildSvg('0 0 1440 120', { preserveAspectRatio: 'none', 'aria-hidden': 'true' }, [ svgEl('path', { fill: '#332A66', d: 'M0,120 L0,70 C240,10 480,110 720,60 C960,10 1200,90 1440,40 L1440,120 Z' }) ]); }, 'doodle-kid': function () { return buildSvg('0 0 120 140', { 'aria-hidden': 'true' }, [ svgEl('circle', { cx: '60', cy: '38', r: '22', fill: '#FFE3D0' }), svgEl('path', { d: 'M40 24 Q 46 8 60 12 Q 74 6 80 22 Q 88 26 82 36 Q 84 20 70 20 Q 56 16 48 26 Q 40 30 40 24', fill: '#FF8A3C' }), svgEl('circle', { cx: '52', cy: '38', r: '2.6', fill: '#332A66' }), svgEl('circle', { cx: '68', cy: '38', r: '2.6', fill: '#332A66' }), svgEl('path', { d: 'M52 48 Q 60 54 68 48', fill: 'none', stroke: '#332A66', 'stroke-width': '2.5', 'stroke-linecap': 'round' }), svgEl('path', { d: 'M46 62 L74 62 L78 96 L42 96 Z', fill: '#7FDBE8' }), svgEl('path', { d: 'M46 68 H78 M45 76 H79 M44 84 H80', stroke: '#332A66', 'stroke-width': '3' }), svgEl('path', { d: 'M46 64 Q 26 58 20 46', fill: 'none', stroke: '#FFE3D0', 'stroke-width': '7', 'stroke-linecap': 'round' }), svgEl('path', { d: 'M74 64 Q 94 58 100 46', fill: 'none', stroke: '#FFE3D0', 'stroke-width': '7', 'stroke-linecap': 'round' }), svgEl('path', { d: 'M52 96 Q 46 116 38 124', fill: 'none', stroke: '#332A66', 'stroke-width': '7', 'stroke-linecap': 'round' }), svgEl('path', { d: 'M68 96 Q 76 112 88 116', fill: 'none', stroke: '#332A66', 'stroke-width': '7', 'stroke-linecap': 'round' }) ]); }, 'doodle-pencil': function () { return buildSvg('0 0 140 60', { 'aria-hidden': 'true' }, [ svgEl('path', { d: 'M10 40 L30 20 L120 20 L120 40 Z', fill: '#FFC93C', transform: 'rotate(-18 70 30)' }), svgEl('path', { d: 'M10 40 L30 20 L30 40 Z', fill: '#FFE3D0', transform: 'rotate(-18 70 30)' }), svgEl('path', { d: 'M10 40 L18 32 L18 40 Z', fill: '#332A66', transform: 'rotate(-18 70 30)' }), svgEl('rect', { x: '110', y: '20', width: '10', height: '20', fill: '#FF4E9B', transform: 'rotate(-18 70 30)' }) ]); }, 'video-iframe': function () { var YT_ID = 'hh-PZF2m87k'; var frame = document.createElement('iframe'); frame.src = 'https://www.youtube.com/embed/' + YT_ID + '?rel=0&modestbranding=1&playsinline=1&enablejsapi=1'; frame.title = 'Meu Primeiro Ingles TV - conheca o app'; frame.setAttribute('frameborder', '0'); frame.setAttribute('allow', 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share'); frame.referrerPolicy = 'strict-origin-when-cross-origin'; frame.allowFullscreen = true; frame.style.position = 'absolute'; frame.style.inset = '0'; frame.style.width = '100%'; frame.style.height = '100%'; frame.style.border = '0'; return frame; } }; function injectSvgs() { document.querySelectorAll('[data-mpi-svg]').forEach(function (el) { var key = el.getAttribute('data-mpi-svg'); if (el.dataset.mpiSvgFilled === '1') return; var builder = BUILDERS[key]; if (!builder) return; while (el.firstChild) el.removeChild(el.firstChild); el.appendChild(builder()); el.dataset.mpiSvgFilled = '1'; }); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', injectSvgs); } else { injectSvgs(); } /* Reforco: caso o Elementor/tema re-renderize o widget depois do load */ setTimeout(injectSvgs, 800); setTimeout(injectSvgs, 2500); })(); /* ============================================================ CAMADA 2 e 3 — Enforcement JS + MutationObserver Reaplica estilos críticos caso o tema do WordPress interfira (paleta PLAYFUL / roxo atualizada) ============================================================ */ (function () { if (window.__MPI_EDITOR__) return; var CRITICAL = { '#root': { fontFamily: "'Nunito', sans-serif", overflowX: 'hidden', background: '#FFFFFF' }, '#root .mpi-hero': { background: 'linear-gradient(150deg, #13BFD0 0%, #087FAE 42%, #123C78 100%)' }, '#root .mpi-offer': { background: 'linear-gradient(155deg, #10B9C7 0%, #087FAE 45%, #123C78 100%)' }, '#root .mpi-btn-primary': { background: '#FFC93C', color: '#332A66', borderRadius: '999px' }, '#root .mpi-h1': { color: '#FFFFFF' }, '#root .mpi-urgency': { background: '#FF4E9B' }, '#root .mpi-stats': { background: '#123C68' }, '#root .mpi-footer-body': { background: '#0B315B' } }; function enforce() { try { Object.keys(CRITICAL).forEach(function (sel) { document.querySelectorAll(sel).forEach(function (el) { var props = CRITICAL[sel]; Object.keys(props).forEach(function (p) { el.style.setProperty( p.replace(/[A-Z]/g, function (m) { return '-' + m.toLowerCase(); }), props[p], 'important' ); }); }); }); } catch (e) { /* silencioso */ } } function init() { enforce(); var root = document.getElementById('root'); if (!root || !window.MutationObserver) return; var mo = new MutationObserver(function () { enforce(); }); mo.observe(root, { attributes: true, subtree: true, attributeFilter: ['style', 'class'] }); /* Reforço pós-carregamento (Elementor lazy hydrate) */ setTimeout(enforce, 800); setTimeout(enforce, 2500); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); } })(); /* ============================================================ COMPATIBILIDADE DOS PLAYERS DO YOUTUBE — FIX ERRO 153 O erro 153 acontece quando o YouTube não recebe o Referer da página (política "no-referrer"/"same-origin" herdada do tema ou de plugin). Correção em 3 frentes: 1) remove metas de referrer restritivas e injeta a recomendada pelo YouTube: strict-origin-when-cross-origin; 2) garante referrerpolicy correto em todos os iframes da LP; 3) adiciona o parâmetro origin exigido pela IFrame API. ============================================================ */ (function () { if (window.__MPI_EDITOR__) return; function fixReferrerMeta() { try { /* Remove metas restritivas (no-referrer / same-origin) que quebram o embed */ document.querySelectorAll('meta[name="referrer"]').forEach(function (m) { var v = (m.getAttribute('content') || '').toLowerCase(); if (v === 'no-referrer' || v === 'same-origin' || v === 'never') { m.parentNode.removeChild(m); } }); /* Injeta a política recomendada pelo YouTube (a última meta prevalece) */ if (!document.getElementById('mpi-referrer-meta')) { var meta = document.createElement('meta'); meta.id = 'mpi-referrer-meta'; meta.name = 'referrer'; meta.content = 'strict-origin-when-cross-origin'; document.head.appendChild(meta); } } catch (e) {} } function fixYouTubeFrames() { try { document.querySelectorAll('#root iframe[src*="youtube.com/embed/"], #root iframe[src*="youtube-nocookie.com/embed/"]').forEach(function (frame) { var changed = false; /* referrerpolicy correto direto no iframe */ if (frame.getAttribute('referrerpolicy') !== 'strict-origin-when-cross-origin') { frame.setAttribute('referrerpolicy', 'strict-origin-when-cross-origin'); changed = true; } /* parâmetro origin exigido pela IFrame API */ var url = new URL(frame.getAttribute('src'), window.location.href); if (!url.searchParams.get('origin') && window.location.origin.indexOf('http') === 0) { url.searchParams.set('origin', window.location.origin); changed = true; } if (changed) frame.setAttribute('src', url.toString()); }); } catch (e) {} } function run() { fixReferrerMeta(); fixYouTubeFrames(); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', run); } else { run(); } /* Reforço: temas/plugins podem reinjetar metas depois do load */ setTimeout(run, 800); setTimeout(run, 2500); })(); /* ============================================================ CRONÔMETRO EVERGREEN — 24h por visitante Usa localStorage quando disponível (persiste entre visitas); se bloqueado, cai para contagem em memória na sessão. ============================================================ */ (function () { if (window.__MPI_EDITOR__) return; var DURATION = 24 * 60 * 60 * 1000; /* 24 horas — ajuste aqui */ var KEY = 'mpi_tv_offer_deadline'; var deadline; function safeGet() { try { return localStorage.getItem(KEY); } catch (e) { return null; } } function safeSet(v) { try { localStorage.setItem(KEY, v); } catch (e) {} } var saved = parseInt(safeGet(), 10); if (saved && saved > Date.now()) { deadline = saved; } else { deadline = Date.now() + DURATION; safeSet(String(deadline)); } function pad(n) { return (n < 10 ? '0' : '') + n; } function tick() { var diff = deadline - Date.now(); if (diff variante de animação */ var TARGETS = [ ['.mpi-hero-copy > *', ''], ['.mpi-hero-media', 'mpi-anim-zoom'], ['.mpi-eyebrow', ''], ['.mpi-h2', ''], ['.mpi-lead', ''], ['.mpi-split-media', 'mpi-anim-left'], ['.mpi-split-copy', 'mpi-anim-right'], ['.mpi-class', 'mpi-anim-pop'], ['.mpi-rail-label', ''], ['.mpi-rail', ''], ['.mpi-video-cta', ''], ['.mpi-stat', 'mpi-anim-pop'], ['.mpi-moment', 'mpi-anim-pop'], ['.mpi-devices-box', ''], ['.mpi-appshots', 'mpi-anim-zoom'], ['.mpi-appshots-note', ''], ['.mpi-testi', 'mpi-anim-pop'], ['.mpi-offer-card', 'mpi-anim-zoom'], ['.mpi-faq', ''], ['.mpi-footer-inner > *', ''] ]; var els = []; TARGETS.forEach(function (t) { var nodes = root.querySelectorAll(t[0]); nodes.forEach(function (el, i) { if (el.classList.contains('mpi-anim')) return; el.classList.add('mpi-anim'); if (t[1]) el.classList.add(t[1]); /* Stagger: irmãos do mesmo grupo entram em cascata */ el.style.setProperty('--mpi-d', Math.min(i % 6, 5) * 0.09 + 's'); els.push(el); }); }); /* De-duplicação: se um ancestral já anima, o filho não precisa animar de novo (evita movimento composto estranho) */ els = els.filter(function (el) { var p = el.parentElement && el.parentElement.closest('.mpi-anim'); if (p) { el.classList.remove('mpi-anim', 'mpi-anim-left', 'mpi-anim-right', 'mpi-anim-zoom', 'mpi-anim-pop'); el.style.removeProperty('--mpi-d'); return false; } return true; }); /* Só depois de marcar tudo, liga o estado "escondido" */ root.classList.add('mpi-js'); var io = new IntersectionObserver(function (entries) { entries.forEach(function (entry) { if (entry.isIntersecting) { entry.target.classList.add('mpi-in'); io.unobserve(entry.target); } }); }, { threshold: 0.12, rootMargin: '0px 0px -6% 0px' }); els.forEach(function (el) { /* O que já está na tela (hero) entra imediatamente em cascata */ var r = el.getBoundingClientRect(); if (r.top 0) offset = Math.max(offset, r.height); } /* Qualquer outra barra fixa/sticky grudada no topo (ex.: header do tema que não tenha sido escondido pelo modo página cheia) */ try { document.querySelectorAll('body > *').forEach(function (el) { if (el.id === 'mpi-floating-checkout' || el.id === 'wpadminbar') return; var cs = window.getComputedStyle(el); if (cs.position !== 'fixed' && cs.position !== 'sticky') return; var rect = el.getBoundingClientRect(); if (rect.top 0 && rect.height < 220) { offset = Math.max(offset, rect.bottom); } }); } catch (e) {} return offset + 20; /* respiro extra */ } function scrollToForm(ev) { if (ev && typeof ev.preventDefault === 'function') ev.preventDefault(); var target = document.getElementById('mpi-lead-form') || document.getElementById('assinar'); if (!target) return; var top = target.getBoundingClientRect().top + window.pageYOffset - getFixedTopOffset(); window.scrollTo({ top: Math.max(top, 0), behavior: 'smooth' }); setTimeout(function () { var firstField = document.getElementById('mpi-f-name'); if (firstField) firstField.focus({ preventScroll: true }); }, 500); } /* Delegação de eventos: funciona mesmo para botões criados depois (ex.: o carrinho flutuante) e não depende de re-varrer o DOM. */ document.addEventListener('click', function (ev) { var el = ev.target.closest ? ev.target.closest('.mpi-scroll-to-form') : null; if (el) scrollToForm(ev); }, true); })(); /* ============================================================ MODO PÁGINA CHEIA Esconde cabeçalho, título da página e rodapé do tema WordPress. Para desativar: MPI_FULLPAGE = false. ============================================================ */ (function () { var MPI_FULLPAGE = true; /* <<< false para manter header/footer do tema */ /* Nunca rodar dentro do editor do Elementor: lá o DOM muda o tempo todo enquanto a pessoa edita, e o MutationObserver abaixo poderia entrar em loop e travar o editor. Essa parte só faz sentido no site publicado de verdade. */ function isElementorEditor() { try { if (document.body && document.body.classList && (document.body.classList.contains('elementor-editor-active') || document.body.classList.contains('elementor-editor-preview'))) { return true; } if (window.elementorFrontend && typeof window.elementorFrontend.isEditMode === 'function' && window.elementorFrontend.isEditMode()) { return true; } } catch (e) {} return false; } if (isElementorEditor()) return; var HIDE_SELECTORS = [ '#masthead', '.site-header', '.elementor-location-header', '#site-header', '.main-header-bar-wrap', '.ast-above-header-wrap', '.ast-below-header-wrap', '#colophon', '.site-footer', '.elementor-location-footer', '.entry-header', '.entry-title', '.page-title', '.page-header', '.breadcrumb', '.breadcrumbs', '#secondary', '.widget-area', '.hostinger-ai-menu', '.has-color-2-background-color' ]; function fullpage() { if (!MPI_FULLPAGE) return; document.body.classList.add('mpi-fullpage'); var root = document.getElementById('root'); if (root) { root.style.setProperty('width', '100%', 'important'); root.style.setProperty('max-width', 'none', 'important'); root.style.setProperty('margin', '0', 'important'); root.style.setProperty('padding', '0', 'important'); /* Zera somente os wrappers externos entre a LP e o BODY. */ var shell = root.parentElement; while (shell && shell !== document.body) { shell.style.setProperty('margin', '0', 'important'); shell.style.setProperty('padding', '0', 'important'); shell.style.setProperty('gap', '0', 'important'); shell.style.setProperty('width', '100%', 'important'); shell.style.setProperty('max-width', 'none', 'important'); shell = shell.parentElement; } document.documentElement.style.setProperty('margin', '0', 'important'); document.documentElement.style.setProperty('padding', '0', 'important'); document.body.style.setProperty('margin', '0', 'important'); document.body.style.setProperty('padding', '0', 'important'); } HIDE_SELECTORS.forEach(function (sel) { document.querySelectorAll(sel).forEach(function (el) { /* Nunca esconder a própria LP nem elementos dentro dela */ if (el.querySelector && el.querySelector('#root')) return; if (el.closest && (el.closest('#root') || el.closest('#mpi-fixed'))) return; el.style.setProperty('display', 'none', 'important'); }); }); } function boot() { fullpage(); /* Observer: se o tema reinjetar a barra/rodapé (Hostinger faz isso via JS), esconde de novo na hora */ if (window.MutationObserver) { var t = null; new MutationObserver(function () { clearTimeout(t); t = setTimeout(function () { fullpage(); }, 150); }).observe(document.body, { childList: true, subtree: false }); } setTimeout(fullpage, 800); setTimeout(fullpage, 2500); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', boot); } else { boot(); } })(); /* ============================================================ FORMULÁRIO DE LEAD DA OFERTA — envio para o futuro.kidsa.com Campos obrigatórios: nome do responsável, e-mail, WhatsApp com DDD, nome da criança e data de nascimento da criança. Ao enviar, redireciona para: https://futuro.kidsa.com/?layout=course&email=...&name=... &phone=...&campaign=kidsa-mpi-direta&product=31&child=...&birthday=... ============================================================ */ (function () { if (window.__MPI_EDITOR__) return; var DESTINO_BASE = 'https://futuro.kidsa.com/'; var CAMPANHA = 'kidsa-mpi-direta'; var PRODUTO = '31'; function maskPhone(e) { var digits = e.target.value.replace(/\D/g, '').slice(0, 11); var out = ''; if (digits.length > 0) out = '(' + digits.slice(0, 2); if (digits.length >= 2) out += ')'; if (digits.length > 2) { if (digits.length > 10) out += digits.slice(2, 7); else out += digits.slice(2, 6); } if (digits.length > 10) out += '-' + digits.slice(7); else if (digits.length > 6) out += '-' + digits.slice(6); e.target.value = out; } function toBrDate(isoDate) { var parts = (isoDate || '').split('-'); if (parts.length !== 3) return isoDate || ''; return parts[2] + '/' + parts[1] + '/' + parts[0]; } function initLeadForm() { var form = document.getElementById('mpi-lead-form'); if (!form || form.dataset.ready === '1') return; form.dataset.ready = '1'; var phoneInput = document.getElementById('mpi-f-phone'); if (phoneInput) phoneInput.addEventListener('input', maskPhone); form.addEventListener('submit', function (ev) { ev.preventDefault(); /* Todos os campos são obrigatórios: valida com a própria API do navegador */ if (typeof form.reportValidity === 'function' && !form.reportValidity()) { return; } var name = document.getElementById('mpi-f-name').value.trim(); var email = document.getElementById('mpi-f-email').value.trim(); var phone = document.getElementById('mpi-f-phone').value.trim(); var child = document.getElementById('mpi-f-child').value.trim(); var birthday = toBrDate(document.getElementById('mpi-f-birthday').value); if (!name || !email || !phone || !child || !birthday) return; var params = new URLSearchParams(); params.set('layout', 'course'); params.set('email', email); params.set('name', name); params.set('phone', phone); params.set('campaign', CAMPANHA); params.set('product', PRODUTO); params.set('child', child); params.set('birthday', birthday); window.location.href = DESTINO_BASE + '?' + params.toString(); }); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLeadForm); } else { initLeadForm(); } })(); /* Carrossel das telas do aplicativo: setas, pontos, autoplay e gesto de arrastar. */ (function () { if (window.__MPI_EDITOR__) return; function initAppCarousel() { var carousel = document.querySelector('#root .mpi-app-carousel'); if (!carousel || carousel.dataset.ready === '1') return; carousel.dataset.ready = '1'; var viewport = carousel.querySelector('.mpi-app-viewport'); var track = carousel.querySelector('.mpi-app-track'); var slides = Array.prototype.slice.call(carousel.querySelectorAll('.mpi-app-slide')); var prev = carousel.querySelector('.mpi-app-prev'); var next = carousel.querySelector('.mpi-app-next'); var dotsWrap = carousel.querySelector('.mpi-app-dots'); var index = 0, maxIndex = slides.length - 1, timer = null, startX = 0, deltaX = 0; slides.forEach(function (_, i) { var dot = document.createElement('button'); dot.type = 'button'; dot.className = 'mpi-app-dot'; dot.setAttribute('aria-label', 'Ir para a tela ' + (i + 1)); dot.addEventListener('click', function () { go(i, true); }); dotsWrap.appendChild(dot); }); function metrics() { if (!slides.length) return { step: 0, visible: 1 }; var gap = parseFloat(getComputedStyle(track).gap) || 0; var step = slides[0].getBoundingClientRect().width + gap; var visible = Math.max(1, Math.floor((viewport.clientWidth + gap) / step)); maxIndex = Math.max(0, slides.length - visible); if (index > maxIndex) index = maxIndex; return { step: step, visible: visible }; } function render() { var m = metrics(); track.style.setProperty('transform', 'translate3d(' + (-index * m.step) + 'px,0,0)', 'important'); prev.disabled = index === 0; next.disabled = index === maxIndex; dotsWrap.querySelectorAll('.mpi-app-dot').forEach(function (dot, i) { dot.classList.toggle('is-active', i === index); dot.setAttribute('aria-current', i === index ? 'true' : 'false'); dot.style.display = i = maxIndex ? 0 : index + 1, false); }, 4200); } prev.addEventListener('click', function () { go(index - 1, true); }); next.addEventListener('click', function () { go(index + 1, true); }); viewport.addEventListener('pointerdown', function (e) { startX = e.clientX; deltaX = 0; track.style.transition = 'none'; viewport.setPointerCapture(e.pointerId); }); viewport.addEventListener('pointermove', function (e) { if (!startX) return; deltaX = e.clientX - startX; var m = metrics(); track.style.setProperty('transform', 'translate3d(' + (-index * m.step + deltaX) + 'px,0,0)', 'important'); }); viewport.addEventListener('pointerup', function () { track.style.transition = ''; if (Math.abs(deltaX) > 45) go(index + (deltaX < 0 ? 1 : -1), true); else render(); startX = 0; deltaX = 0; }); viewport.addEventListener('pointercancel', function () { startX = 0; deltaX = 0; render(); }); carousel.addEventListener('mouseenter', function () { clearInterval(timer); }); carousel.addEventListener('mouseleave', restart); window.addEventListener('resize', render, { passive: true }); render(); restart(); } if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', initAppCarousel); else initAppCarousel(); })(); /* ============================================================ BOTÃO FLUTUANTE DEFINITIVO — criado direto no BODY Evita ficar preso ao rodapé/seções do Elementor. ============================================================ */ (function () { if (window.__MPI_EDITOR__) return; function injectFloatingButton() { var old = document.querySelector('.mpi-cart-fab'); if (old && old.parentNode) old.parentNode.removeChild(old); var btn = document.getElementById('mpi-floating-checkout'); if (!btn) { btn = document.createElement('a'); btn.id = 'mpi-floating-checkout'; btn.href = '#mpi-lead-form'; btn.className = 'mpi-scroll-to-form'; btn.setAttribute('aria-label', 'Garantir por 10x de R$ 9,99'); btn.innerHTML = '🛒Garantir por 10x de R$ 9,991'; document.body.appendChild(btn); } var css = document.getElementById('mpi-floating-checkout-css'); if (!css) { css = document.createElement('style'); css.id = 'mpi-floating-checkout-css'; css.textContent = ` #mpi-floating-checkout { position: fixed !important; right: 22px !important; bottom: 26px !important; left: auto !important; top: auto !important; width: 64px !important; height: 64px !important; border-radius: 999px !important; background: #FFC93C !important; color: #332A66 !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important; text-decoration: none !important; z-index: 2147483647 !important; border: 2.5px solid #332A66 !important; box-shadow: 0 5px 0 #332A66, 0 14px 34px rgba(51,42,102,.3) !important; transform: translateZ(0) !important; cursor: pointer !important; } #mpi-floating-checkout .mpi-floating-icon { font-size: 28px !important; line-height: 1 !important; display: block !important; } #mpi-floating-checkout .mpi-floating-label { display: none !important; font-family: 'Baloo 2', 'Trebuchet MS', sans-serif !important; font-size: 17px !important; font-weight: 700 !important; line-height: 1.15 !important; white-space: nowrap !important; } #mpi-floating-checkout .mpi-floating-badge { position: absolute !important; top: -5px !important; right: -5px !important; width: 24px !important; height: 24px !important; border-radius: 50% !important; background: #FF4E9B !important; color: #fff !important; font-family: 'Baloo 2', 'Trebuchet MS', sans-serif !important; font-size: 13px !important; font-weight: 800 !important; display: flex !important; align-items: center !important; justify-content: center !important; border: 2px solid #fff !important; } /* Mobile: mantém somente a barra fixa de CTA, sem carrinho ou badge */ @media (max-width: 640px) { #mpi-floating-checkout { left: 12px !important; right: 12px !important; bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important; width: auto !important; height: 58px !important; border-radius: 999px !important; } #mpi-floating-checkout .mpi-floating-icon { display: none !important; } #mpi-floating-checkout .mpi-floating-label { display: inline-block !important; } #mpi-floating-checkout .mpi-floating-badge { display: none !important; } } `; document.head.appendChild(css); } } function keepFixed() { var btn = document.getElementById('mpi-floating-checkout'); if (!btn) return; var mobile = window.innerWidth <= 640; btn.style.setProperty('position', 'fixed', 'important'); if (mobile) { btn.style.setProperty('left', '12px', 'important'); btn.style.setProperty('right', '12px', 'important'); btn.style.setProperty('bottom', 'calc(12px + env(safe-area-inset-bottom, 0px))', 'important'); } else { btn.style.setProperty('left', 'auto', 'important'); btn.style.setProperty('right', '22px', 'important'); btn.style.setProperty('bottom', '26px', 'important'); } btn.style.setProperty('z-index', '2147483647', 'important'); } function boot() { injectFloatingButton(); keepFixed(); window.addEventListener('scroll', keepFixed, { passive: true }); window.addEventListener('resize', keepFixed); setTimeout(function () { injectFloatingButton(); keepFixed(); }, 500); setTimeout(function () { injectFloatingButton(); keepFixed(); }, 1500); setTimeout(function () { injectFloatingButton(); keepFixed(); }, 3000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', boot); } else { boot(); } })();
plugins premium WordPress