Notícias Cebraspe

Inscrições abertas para cargos de nível médio e superior da Prefeitura de Cachoeiro de Itapemirim

Seleção oferta 255 vagas e a formação de cadastro de reserva

As inscrições para 255 vagas abertas pela Prefeitura de Cachoeiro de Itapemirim, no estado do Espírito Santo, estão abertas. Além das oportunidades para provimento imediato, o certame também oferece cadastro de reserva em cargos de nível superior e de nível médio do Quadro de Cargos, Carreiras, Subsídios e Vencimentos da Administração Direta do Poder Executivo do Município.

Os interessados em participar da seleção podem solicitar a inscrição até 31 de janeiro de 2024, pelo site do Cebraspe, no endereço eletrônico www.cebraspe.org.br/concursos/PREF_CACHOEIRO_24. A taxa é de R$ 134,10 para os cargos de nível superior e de R$ 105,50 para os postos de nível médio. O pagamento deve ser realizado até 21 de fevereiro de 2024.

CARGOS – O edital prevê oportunidades de nível superior nos cargos de Enfermeiro, Enfermeiro do Trabalho, Farmacêutico, Fisioterapeuta, Fonoaudiólogo, Médico – Especialidade: Clínico Geral, Médico Veterinário, Nutricionista, Professor de Educação Básica – PEB A, Professor de Educação Básica – PEB B, Professor de Educação Básica – PEB C – Arte, Professor de Educação Básica – PEB C – Ciências, Professor de Educação Básica – PEB C – Educação Física, Professor de Educação Básica – PEB C – Ensino Religioso, Professor de Educação Básica – PEB C – Geografia, Professor de Educação Básica – PEB C – História, Professor de Educação Básica – PEB C – Inglês, Professor de Educação Básica – PEB C – Língua Portuguesa, Professor de Educação Básica – PEB C – Matemática, Professor de Educação Básica – PEB D, Psicólogo e Terapeuta Ocupacional. Já para nível médio as vagas são para os postos de Cuidador, Técnico em Enfermagem, Técnico em Enfermagem do Trabalho e Técnico em Radiologia.

Para ingressar nos cargos de nível superior é necessário possuir diploma, devidamente registrado, de conclusão de curso superior na área de atuação escolhida, fornecido por instituição de ensino superior reconhecida pelo Ministério da Educação (MEC), além de registro no órgão de classe, quando requisitado. Os postos de nível médio exigem certificado, devidamente registrado, de conclusão de curso de ensino médio e de curso técnico na área pretendida, expedido por instituição de ensino reconhecida pelo órgão competente, além de outros requisitos específicos previstos no edital.

A remuneração varia entre R$ 1.551,45 e R$ 4.137,20, a depender da escolha do cargo. As cargas horárias também variam de acordo com o posto, podendo ser de 15h até 40h semanais.

FASES – A seleção será realizada por meio de provas objetivas, para todos os cargos, prova discursiva, somente para os cargos de Enfermeiro, Enfermeiro do Trabalho, Médico – Especialidade: Clínico-Geral e Professor – todas as disciplinas, além da avaliação de títulos, somente para os cargos de nível superior. As provas estão previstas para 24 de março de 2024.

Todas as fases, bem como a avaliação biopsicossocial dos candidatos que se declararem pessoas com deficiência e o procedimento de verificação da condição declarada para concorrer às vagas reservadas aos candidatos negros ou indígenas, serão realizadas na cidade de Cachoeiro de Itapemirim/ES.

SERVIÇO

Concurso público: Prefeitura Municipal de Cachoeiro de Itapemirim.
Cargos: Enfermeiro, Enfermeiro do Trabalho, Farmacêutico, Fisioterapeuta, Fonoaudiólogo, Médico – Especialidade: Clínico Geral, Médico Veterinário, Nutricionista, Professor de Educação Básica – PEB A, Professor de Educação Básica – PEB B, Professor de Educação Básica – PEB C – Artes, Professor de Educação Básica – PEB C – Ciências, Professor de Educação Básica – PEB C – Educação Física, Professor de Educação Básica – PEB C – Ensino Religioso, Professor de Educação Básica – PEB C – Geografia, Professor de Educação Básica – PEB C – História, Professor de Educação Básica – PEB C – Inglês, Professor de Educação Básica – PEB C – Língua Portuguesa, Professor de Educação Básica – PEB C – Matemática, Professor de Educação Básica – PEB D, Psicólogo, Terapeuta Ocupacional, Cuidador, Técnico em Enfermagem, Técnico em Enfermagem do Trabalho e Técnico em Radiologia.
Vagas: 255 vagas e a formação de cadastro de reserva.
Remuneração: entre R$ 1.551,45 e R$ 4.137,20, a depender do cargo escolhido.
Inscrições: até 31 de janeiro de 2024.
Taxa: R$ 134,10 para nível superior e R$ 105,50 para nível médio.
Provas: objetivas e discursiva em 24 de março de 2024.

CONTATO

Outras informações no endereço eletrônico www.cebraspe.org.br/concursos/PREF_CACHOEIRO_24 ou na Central de Atendimento ao Candidato do Cebraspe, de segunda a sexta, das 8h30 às 18h30 – Setor de Armazenagem e Abastecimento Norte (SAAN) Quadra 01, Lotes 1115 a 1145, Sede do Cebraspe – pelo telefone (61) 3448-0100.

Compartilhe esta notícia

Foto de Germana Gabriella

Germana Gabriella

if(document.querySelector(".xpbox-shared-header")){ // Site-wide shared native shell; published links never target draft page URLs. (() => { const init=()=>{ const header=document.querySelector('.xpbox-shared-header'); if(!header)return; const main=document.querySelector('#conteudo')||document.querySelector('main')||document.querySelector('#content'); if(main){if(!main.id)main.id='xpbox-main-content';header.querySelectorAll('.skip-link a,a.skip-link').forEach(link=>link.setAttribute('href','#'+main.id));} const base='https://cebraspe.xpbox.com.br/'; const normalize=path=>path.replace(//+$/,'')||'/'; const draftHome=document.body.classList.contains('page-id-26754'); const draftHiring=document.body.classList.contains('page-id-26763'); const currentPath=draftHome?'/':draftHiring?'/contrate-o-cebraspe-xpbox':normalize(window.location.pathname); document.querySelectorAll('.xpbox-shell a[href]').forEach(link=>{ const url=new URL(link.getAttribute('href'),window.location.href); if(url.origin!==new URL(base).origin)return; if(normalize(url.pathname)==='/pagina-inicial-xpbox')url.pathname='/'; if(normalize(url.pathname)==='/como-contratar')url.pathname='/contrate-o-cebraspe-xpbox/'; if(link.getAttribute('href')==='#solicitar-proposta')url.pathname='/contrate-o-cebraspe-xpbox/'; link.setAttribute('href',url.href); }); header.querySelectorAll('#primary-menu a.nav-link').forEach(link=>{ const url=new URL(link.href,base); link.removeAttribute('aria-current'); if(url.origin===new URL(base).origin&&normalize(url.pathname)===currentPath)link.setAttribute('aria-current','page'); }); header.querySelectorAll('.language-nav a[lang="pt-BR"],.header-language-nav a[lang="pt-BR"]').forEach(link=>{ link.href=draftHome||draftHiring?window.location.href:base+window.location.pathname.replace(/^//,''); link.setAttribute('aria-current','page'); }); header.querySelectorAll('.utility-accessibility,.header-accessibility').forEach(widget=>{ const link=widget.matches('a')?widget:widget.querySelector('a'); if(link)link.setAttribute('href',draftHiring?'#acessibilidade-da-pagina':base+'avaliacoes/acessibilidade/'); }); const location=header.closest('.elementor-location-header'),utility=header.querySelector('.utility-bar'); if(location&&utility&&!location.dataset.xpboxUtilityMeasured){ location.dataset.xpboxUtilityMeasured='true'; const measure=()=>location.style.setProperty('--xpbox-utility-height',utility.offsetHeight+'px'); measure();if(window.ResizeObserver)new ResizeObserver(measure).observe(utility);else window.addEventListener('resize',measure,{passive:true}); } }; if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init(); })(); /* Behavior only. Content is rendered by native Elementor widgets. */ (() => { const init = () => { const page=document.querySelector('.xpbox-page'); document.querySelectorAll(':is(.xpbox-page,.xpbox-shell) :is(.menu-toggle,.nav-disclosure,[data-text-scale],[data-contrast-toggle],.carousel-button,[data-submit-button])').forEach(widget=>{ const button=widget.querySelector('.elementor-button'); if(!button||button.dataset.xpboxMirrored)return; button.dataset.xpboxMirrored='true'; button.addEventListener('click',e=>e.preventDefault()); button.setAttribute('role','button'); button.addEventListener('keydown',e=>{if(e.key===' '){e.preventDefault();button.click();}}); const mirror=()=>['aria-expanded','aria-pressed','aria-label','aria-disabled'].forEach(name=>{ if(widget.hasAttribute(name))button.setAttribute(name,widget.getAttribute(name)); }); mirror();new MutationObserver(mirror).observe(widget,{attributes:true,attributeFilter:['aria-expanded','aria-pressed','aria-label','aria-disabled']}); }); if(!page||page.dataset.xpboxReady)return; page.dataset.xpboxReady='true'; const form=page.querySelector('.xpbox-request-form'); if(!form)return; const profile=form.querySelector('.xpbox-profile-form form'); const fields=form.querySelector('.institution-fields'); const status=form.querySelector('#route-status'); const response=form.querySelector('#response-panel'); const errorSummary=form.querySelector('#error-summary'); const errorList=errorSummary.querySelector('.xpbox-tag-ul'); const live=form.querySelector('[data-form-live]'); const submit=form.querySelector('[data-submit-button]'); const submitAnchor=submit.querySelector('a'); const submitLabel=submit.querySelector('[data-submit-label]'); fields.hidden=true; form.querySelectorAll('.xpbox-field-form').forEach(widget=>{ const input=widget.querySelector('input:not([type=hidden]),select,textarea'); if(!input)return; const label=widget.parentElement.querySelector('.xpbox-tag-label'); if(label){label.id='xpbox-label-'+input.id;input.setAttribute('aria-labelledby',label.id);} for(const [key,value] of Object.entries(widget.dataset)){ if(!key.startsWith('input'))continue; const attr=key.slice(5).replace(/[A-Z]/g,c=>'-'+c.toLowerCase()).replace(/^-/,''); input.setAttribute(attr,value); } }); const setStatus=(target,text,href,label)=>{ target.replaceChildren(document.createTextNode(text)); if(href){const a=document.createElement('a');a.href=href;a.textContent=label;target.append(a);} target.hidden=false;target.setAttribute('role','status');target.tabIndex=-1;target.focus(); }; // No Elementor AJAX, email or file upload in the demonstration. form.addEventListener('submit',event=>{ event.preventDefault();event.stopImmediatePropagation(); if(event.target!==profile)return; const selected=profile.querySelector('input:checked')?.value; if(!selected){form.querySelector('#profile-error').textContent='Selecione um perfil antes de continuar.';return;} form.querySelector('#profile-error').textContent=''; form.classList.toggle('is-institution',selected==='instituicao'); fields.hidden=selected!=='instituicao'; if(selected==='instituicao'){ status.hidden=true; const heading=form.querySelector('#institution-form-title'); heading?.focus();heading?.scrollIntoView({behavior:'smooth',block:'center'}); }else if(selected==='candidato')setStatus(status,'Atendimento ao candidato. Consulte o ','/fale-conosco/','Fale com o Cebraspe ou a página da sua seleção.'); else if(selected==='aplicador')setStatus(status,'Atendimento ao aplicador. Acesse a área ','/colaborador/','Para o colaborador para orientações sobre atividades de campo.'); },true); let attempts=0,busy=false; const validate=()=>{ errorList.replaceChildren();errorSummary.hidden=true; form.querySelectorAll('.field-error').forEach(error=>error.textContent=''); const inputs=[...fields.querySelectorAll('.elementor-field:not([type=hidden])')]; const invalid=[]; for(const input of inputs){ input.setCustomValidity('');input.removeAttribute('aria-invalid'); if(input.id==='form-field-telefone'&&input.value&&!/^d{10,11}$/.test(input.value.replace(/D/g,'')))input.setCustomValidity('Informe DDD e número, com 10 ou 11 dígitos.'); if(input.id==='form-field-uf'&&input.value&&!/^[a-z]{2}$/i.test(input.value))input.setCustomValidity('Use a sigla da unidade federativa com duas letras.'); if(input.id==='form-field-descricao'&&input.value&&input.value.trim().length{e.preventDefault();input.focus();});item.append(link);errorList.append(item);invalid.push(input); } } if(invalid.length){errorSummary.hidden=false;errorSummary.focus();return false;} return true; }; const simulate=()=>{ if(busy||!validate())return; busy=true;response.hidden=true;form.setAttribute('aria-busy','true'); submitAnchor.setAttribute('aria-disabled','true');submitLabel.textContent='Enviando demonstração...'; live.textContent='Enviando demonstração. Nenhum dado será transmitido.'; attempts++; window.setTimeout(()=>{ const failed=attempts===1; response.classList.toggle('is-error',failed); response.querySelector('.xpbox-response-failure').hidden=!failed; response.querySelector('.xpbox-response-success').hidden=failed; response.querySelectorAll('[data-response-value]').forEach(widget=>{ const target=widget.querySelector('p')||widget.querySelector('.elementor-widget-container'); target.textContent=form.querySelector('#form-field-'+widget.dataset.responseValue)?.value||''; }); const email=form.querySelector('#form-field-email')?.value||''; const note=response.querySelector('[data-email-expectation]'); (note.querySelector('p')||note.querySelector('.elementor-widget-container')).textContent=`Na produção, uma confirmação automática com protocolo, resumo e prazo seria enviada para ${email}. Este protótipo não enviou e-mail.`; response.hidden=false;response.focus();busy=false;form.removeAttribute('aria-busy'); submitAnchor.setAttribute('aria-disabled','false');submitLabel.textContent='Solicitar proposta'; live.textContent=failed?'Falha demonstrativa. As informações foram preservadas e a solicitação pode ser tentada novamente.':'Simulação concluída. Protocolo fictício e resumo disponíveis.'; },800); }; submit.addEventListener('click',event=>{event.preventDefault();simulate();}); form.querySelector('[data-prototype-retry]')?.addEventListener('click',event=>{event.preventDefault();simulate();}); fields.addEventListener('input',event=>{ if(!event.target.matches('input,select,textarea'))return; event.target.setCustomValidity('');event.target.removeAttribute('aria-invalid'); const error=form.querySelector('#'+event.target.id.replace('form-field-','')+'-error');if(error)error.textContent=''; response.hidden=true;live.textContent=''; }); }; if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init(); })(); (() => { /* XPBOX editor-safe global search 20260916: editor canvas must remain editable. */ const isElementorEditor = document.body.classList.contains('elementor-editor-active') || Boolean(window.elementor?.isEditMode?.()); if (isElementorEditor) { const overlay = document.querySelector('.xpbox-shared-header #global-search'); if (overlay) { overlay.hidden = true; overlay.setAttribute('aria-hidden', 'true'); overlay.style.display = 'none'; } return; } const header = document.querySelector('.xpbox-shared-header .site-header'); const menuToggle = header?.querySelector('.menu-toggle'); const primaryMenu = header?.querySelector('#primary-menu'); if (!header || !menuToggle || !primaryMenu || header.dataset.globalHeaderReady === 'true') return; header.dataset.globalHeaderReady = 'true'; const megaItems = Array.from(primaryMenu.querySelectorAll('.nav-item')).filter((item) => item.querySelector('.submenu-panel')); const desktopMegaCapable = window.matchMedia('(min-width: 1280px) and (hover: hover) and (pointer: fine)'); const searchToggle = header.querySelector('.global-search-toggle'); const searchOverlay = document.querySelector('.xpbox-shared-header #global-search'); const searchClose = searchOverlay?.querySelector('.search-close'); const searchInput = searchOverlay?.querySelector('.elementor-search-form__input'); let closeMegaTimer; let pinnedMegaItem = null; let searchReturnFocus = null; document.querySelectorAll('.xpbox-shared-header [data-language-choice][aria-disabled="true"]').forEach((link) => { link.addEventListener('click', (event) => { event.preventDefault(); visualStatus.textContent = `${link.dataset.languageChoice}: tradução pendente de revisão humana e integração no WordPress.`; }); }); const textScaleButtons = Array.from(document.querySelectorAll('.xpbox-shared-header [data-text-scale]')); const contrastButtons = Array.from(document.querySelectorAll('.xpbox-shared-header [data-contrast-toggle]')); const visualStatus = document.createElement('span'); const allowedScales = [0.9, 1, 1.1]; let visualScale = 1; let highContrast = false; visualStatus.className = 'sr-only'; visualStatus.setAttribute('role', 'status'); visualStatus.setAttribute('aria-live', 'polite'); header.appendChild(visualStatus); try { const storedScale = Number(window.sessionStorage.getItem('cebraspe-text-scale')); if (allowedScales.includes(storedScale)) visualScale = storedScale; highContrast = window.sessionStorage.getItem('cebraspe-high-contrast') === 'true'; } catch { visualScale = 1; highContrast = false; } const syncVisualPreferences = (announcement = '') => { document.body.style.zoom = visualScale === 1 ? '' : String(visualScale); document.documentElement.toggleAttribute('data-high-contrast', highContrast); if (highContrast) document.documentElement.setAttribute('data-high-contrast', 'true'); textScaleButtons.forEach((button) => { const direction = button.dataset.textScale; button.disabled = direction === 'increase' ? visualScale === 1.1 : visualScale === 0.9; }); contrastButtons.forEach((button) => button.setAttribute('aria-pressed', String(highContrast))); if (announcement) visualStatus.textContent = announcement; }; textScaleButtons.forEach((button) => { button.addEventListener('click', () => { const currentIndex = allowedScales.indexOf(visualScale); const offset = button.dataset.textScale === 'increase' ? 1 : -1; visualScale = allowedScales[Math.max(0, Math.min(allowedScales.length - 1, currentIndex + offset))]; try { window.sessionStorage.setItem('cebraspe-text-scale', String(visualScale)); } catch {} syncVisualPreferences(`Tamanho do texto ajustado para ${Math.round(visualScale * 100)}%.`); }); }); contrastButtons.forEach((button) => { button.addEventListener('click', () => { highContrast = !highContrast; try { window.sessionStorage.setItem('cebraspe-high-contrast', String(highContrast)); } catch {} syncVisualPreferences(highContrast ? 'Contraste elevado ativado.' : 'Contraste padrão restaurado.'); }); }); syncVisualPreferences(); const setMenuOpen = (isOpen) => { menuToggle.setAttribute('aria-expanded', String(isOpen)); menuToggle.setAttribute('aria-label', isOpen ? 'Fechar menu' : 'Abrir menu'); header.classList.toggle('is-menu-open', isOpen); }; const setMegaOpen = (item, isOpen) => { item.classList.toggle('is-mega-open', isOpen); const disclosure = item.querySelector('.nav-disclosure'); const sectionName = item.querySelector('.nav-link')?.textContent.trim() || 'seção'; disclosure?.setAttribute('aria-expanded', String(isOpen)); disclosure?.setAttribute('aria-label', `${isOpen ? 'Fechar' : 'Abrir'} submenu ${sectionName}`); }; const closeAllMega = (exceptItem = null) => { window.clearTimeout(closeMegaTimer); megaItems.forEach((item) => { if (item !== exceptItem) setMegaOpen(item, false); }); if (!exceptItem || pinnedMegaItem !== exceptItem) pinnedMegaItem = null; }; const openMega = (item, pin = false) => { window.clearTimeout(closeMegaTimer); closeAllMega(item); setMegaOpen(item, true); if (pin) pinnedMegaItem = item; }; const closeMegaWithDelay = (item) => { window.clearTimeout(closeMegaTimer); closeMegaTimer = window.setTimeout(() => { if (!pinnedMegaItem) setMegaOpen(item, false); }, 260); }; const openSearch = () => { if (!searchOverlay || !searchToggle) return; searchReturnFocus = document.activeElement instanceof HTMLElement ? document.activeElement : searchToggle; closeAllMega(); setMenuOpen(false); searchOverlay.hidden = false; searchToggle.setAttribute('aria-expanded', 'true'); searchToggle.setAttribute('aria-label', 'Fechar busca'); document.body.style.overflow = 'hidden'; window.setTimeout(() => searchInput?.focus(), 0); }; const closeSearch = (returnFocus = false) => { if (!searchOverlay || !searchToggle) return; searchOverlay.hidden = true; searchToggle.setAttribute('aria-expanded', 'false'); searchToggle.setAttribute('aria-label', 'Abrir busca'); document.body.style.overflow = ''; if (returnFocus) searchReturnFocus?.focus(); searchReturnFocus = null; }; menuToggle.addEventListener('click', () => { const isOpen = menuToggle.getAttribute('aria-expanded') === 'true'; setMenuOpen(!isOpen); if (isOpen) { closeAllMega(); } else { window.setTimeout(() => primaryMenu.querySelector('a[href], button')?.focus(), 0); } }); megaItems.forEach((item) => { const trigger = item.querySelector('.nav-disclosure'); if (!trigger) return; trigger.addEventListener('click', () => { const isOpen = item.classList.contains('is-mega-open'); const isPinned = pinnedMegaItem === item; if (isOpen && isPinned) { closeAllMega(); return; } openMega(item, true); }); item.addEventListener('mouseenter', () => { if (desktopMegaCapable.matches && !pinnedMegaItem) openMega(item); }); item.addEventListener('mouseleave', () => { if (desktopMegaCapable.matches && !pinnedMegaItem) closeMegaWithDelay(item); }); }); primaryMenu.addEventListener('click', (event) => { if (event.target instanceof Element && event.target.closest('a') && !event.target.closest('.nav-disclosure')) { setMenuOpen(false); closeAllMega(); } }); document.addEventListener('click', (event) => { if (event.target instanceof Node && !primaryMenu.contains(event.target)) closeAllMega(); }); searchClose?.addEventListener('click', () => closeSearch(true)); searchOverlay?.addEventListener('click', (event) => { if (event.target === searchOverlay) closeSearch(true); if (event.target instanceof Element && event.target.closest('a')) closeSearch(); }); document.addEventListener('keydown', (event) => { if (event.key === 'Tab' && searchOverlay && !searchOverlay.hidden) { const focusable = Array.from(searchOverlay.querySelectorAll('a[href], button:not([disabled]), input:not([disabled])')); const first = focusable[0]; const last = focusable[focusable.length - 1]; if (!first || !last) { event.preventDefault(); return; } if (event.shiftKey && document.activeElement === first) { event.preventDefault(); last.focus(); } else if (!event.shiftKey && document.activeElement === last) { event.preventDefault(); first.focus(); } return; } if (event.key !== 'Escape') return; if (searchOverlay && !searchOverlay.hidden) { closeSearch(true); return; } const menuWasOpen = menuToggle.getAttribute('aria-expanded') === 'true'; const openItem = megaItems.find((item) => item.classList.contains('is-mega-open')); closeAllMega(); setMenuOpen(false); if (menuWasOpen) menuToggle.querySelector('a')?.focus(); else if (openItem) openItem.querySelector('.nav-disclosure a')?.focus(); }); })(); (() => { const reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)'); const carousel = document.querySelector('.xpbox-page [data-carousel]'); if (carousel) { const track = carousel.querySelector('[data-carousel-track]'); const pages = Array.from(track.children); const previous = carousel.querySelector('[data-carousel-previous]'); const next = carousel.querySelector('[data-carousel-next]'); const toggle = carousel.querySelector('[data-carousel-toggle]'); const toggleLabel = carousel.querySelector('[data-carousel-toggle-label]') || document.createElement('span'); const controls = carousel.querySelector('.carousel-controls'); const position = carousel.querySelector('[data-carousel-position]'); const announcement = carousel.querySelector('[data-carousel-announcement]'); let current = 0; let timer = null; let explicitlyPaused = reducedMotion.matches; let pointerPaused = false; let focusPaused = false; let touchStartX = null; const desktopCarousel = window.matchMedia('(min-width: 641px)'); const itemsPerView = () => desktopCarousel.matches ? 5 : 1; const totalViews = () => Math.ceil(pages.length / itemsPerView()); const isPaused = () => explicitlyPaused || pointerPaused || focusPaused; const syncTimer = () => { window.clearInterval(timer); timer = null; if (!isPaused()) { timer = window.setInterval(() => showPage(current + 1, false), 9000); } toggle.dataset.state = explicitlyPaused ? 'paused' : 'playing'; toggleLabel.textContent = explicitlyPaused ? 'Reproduzir' : 'Pausar'; toggle.setAttribute('aria-label', explicitlyPaused ? 'Reproduzir carrossel' : 'Pausar carrossel'); }; const showPage = (nextIndex, manual) => { current = (nextIndex + totalViews()) % totalViews(); track.style.transform = `translateX(-${current * 100}%)`; pages.forEach((page, index) => { const firstVisible = current * itemsPerView(); const active = index >= firstVisible && index showPage(current - 1, true)); next.addEventListener('click', () => showPage(current + 1, true)); toggle.addEventListener('click', () => { explicitlyPaused = !explicitlyPaused; syncTimer(); announcement.textContent = explicitlyPaused ? 'Rotação automática pausada.' : 'Rotação automática reproduzindo.'; }); carousel.addEventListener('pointerenter', () => { pointerPaused = true; syncTimer(); }); carousel.addEventListener('pointerleave', () => { pointerPaused = false; syncTimer(); }); carousel.addEventListener('focusin', () => { focusPaused = true; syncTimer(); }); carousel.addEventListener('focusout', (event) => { if (event.relatedTarget instanceof Node && carousel.contains(event.relatedTarget)) return; focusPaused = false; syncTimer(); }); carousel.addEventListener('touchstart', (event) => { touchStartX = event.changedTouches[0]?.clientX ?? null; }, { passive: true }); carousel.addEventListener('touchend', (event) => { if (touchStartX === null) return; const distance = (event.changedTouches[0]?.clientX ?? touchStartX) - touchStartX; if (Math.abs(distance) > 48) showPage(current + (distance { if (reducedMotion.matches) explicitlyPaused = true; syncTimer(); }); desktopCarousel.addEventListener('change', () => { current = 0; showPage(0, false); syncTimer(); }); } })();}