(function() { const REGRA_AZUL = 'ENTREGA AZUL'; const TEXTO_AZUL = 'Informe o horário preferencial para entrega do seu pedido'; const TEXTO_PADRAO = 'Faça suas solicitações para a entrega'; function executarTroca() { const itens = document.querySelectorAll('.freight-methods__item'); const campo = document.getElementById('observacoes_entrega'); if (!campo) return; const container = campo.closest('.form-group'); const label = container?.querySelector('label b'); if (!label) return; let isAzul = false; itens.forEach(item => { const radio = item.querySelector('input[type="radio"]'); const titulo = item.querySelector('.freight-methods__item-title b')?.innerText || ""; if (radio && radio.checked && titulo.toUpperCase().includes(REGRA_AZUL)) { isAzul = true; } }); // 🔵 CASO ENTREGA AZUL if (isAzul) { // Atualiza label if (label.innerText !== TEXTO_AZUL) { label.innerText = TEXTO_AZUL; } // Se ainda for textarea, troca para input time if (campo.tagName.toLowerCase() === 'textarea') { const novoInput = document.createElement('input'); novoInput.type = 'time'; novoInput.className = campo.className; novoInput.name = campo.name; novoInput.id = campo.id; novoInput.value = campo.value; campo.parentNode.replaceChild(novoInput, campo); } } else { // ⚪ CASO PADRÃO if (label.innerText !== TEXTO_PADRAO) { label.innerText = TEXTO_PADRAO; } // Se virou input, volta pra textarea if (campo.tagName.toLowerCase() === 'input') { const novoTextarea = document.createElement('textarea'); novoTextarea.className = campo.className; novoTextarea.name = campo.name; novoTextarea.id = campo.id; novoTextarea.maxLength = 500; novoTextarea.rows = 2; novoTextarea.value = campo.value; campo.parentNode.replaceChild(novoTextarea, campo); } } } const interval = setInterval(executarTroca, 500); setTimeout(() => clearInterval(interval), 30000); document.addEventListener('change', executarTroca); document.addEventListener('click', executarTroca); const observer = new MutationObserver(executarTroca); observer.observe(document.body, { childList: true, subtree: true }); executarTroca(); })();
MENU
Filtros
Filtrar por:

Não foram encontrados produtos com os filtros aplicados

Remova ou ajuste os filtros para continuar
 
R$ 30,35
Ganhe 30 pontos
 
R$ 17,95
Ganhe 17 pontos
 
R$ 33,49
Ganhe 33 pontos
 
R$ 205,09
Ganhe 205 pontos
 
R$ 159,79
Ganhe 159 pontos
 
R$ 115,09
Ganhe 115 pontos
 
R$ 21,55
Ganhe 21 pontos
 
R$ 114,95
Ganhe 114 pontos
 
R$ 121,89
Ganhe 121 pontos
 
R$ 180,25
Ganhe 180 pontos
 
R$ 180,29
Ganhe 180 pontos
 
R$ 208,55
Ganhe 208 pontos
 
R$ 374,15
Ganhe 374 pontos
Carregando produtos...
Cadastre-se para receber nossas ofertas!