• Atendimento e-commerce 0800 580 3347 Atendimento e-commerce 0800 580 3347
  • Frete Grátis acima de R$799 (exceto Norte e Nordeste) Frete Grátis acima de R$799 (exceto Norte e Nordeste)
  • Pagamentos Via PIX Pagamentos Via PIX

- 47% OFF

image_382efb8e-86eb-49d4-adf0-917d2df95928 image_a0f05fed-6a00-4302-ade5-90a7465f3d5b image_8820f262-b097-4e40-8a0a-9c7c305207c9 image_45009ba3-ad53-4865-845c-2971dc85ba6d image_1067b56d-bbdd-4b69-a3e0-ec9c7a1565f3 image_ab04a9ce-4726-40ad-9ce4-bea90f029689 image_7d8e3c6c-d013-4777-a820-41376acb3df9 image_ba487c6b-c04e-4a76-8b7d-9539252e394c image_9fc807bb-b493-4e6a-9d1d-66ba5dcecdd2 image_4624d8c5-55d0-4af1-b832-3d944bc46572 image_f89163f2-81a3-4097-9456-45e3d434871c

BOLSA URBAN BAG ASPHALT

REF: 336684

R$ 559,90

R$ 299,00

ou 10x de R$ 29,90 no cartão

Selecione uma Cor:

Compre junto

Product image

BOLSA URBAN BAG ASPHALT

R$ 299,00

ou 10x de R$ 29,90 no cartão

- 47% OFF

Você está vendo

CARACTERÍSTICAS IMPORTANTES

Dimensão (C x L x A)

35 cm x 15 cm x 30 cm

(function() { // ========================================== // ?? CONFIGURAÇÕES - ALTERE AQUI // ========================================== const config = { // Nome do produto nomeProduto: 'Ping 3 Trekking', // Título da galeria titulo: 'Galeria de Fotos', // Base URL e versão (opcional) baseUrl: 'https://abcdesignbrasil.fbitsstatic.net/media/', versao: '202509290941', // Lista de imagens (adicione quantas quiser) // Pode usar apenas o nome do arquivo OU URL completa imagens: [ 'ping3-carrossel-1.jpg', 'ping3-carrossel-2.jpg', 'ping3-carrossel-3.jpg', 'ping3-carrossel-4.jpg', 'ping3-carrossel-5.jpg', 'ping3-carrossel-6.jpg', 'ping3-carrossel-7.jpg', 'ping3-carrossel-8.jpg', 'ping3-carrossel-9.jpg', 'ping3-carrossel-10.jpg', 'ping3-carrossel-11.jpg' ], // URLs para verificação (deixe vazio [] para carregar em qualquer página) urlsVerificacao: ['ping-3-trekking-falcon', '150250'], // Estilos customizáveis estilos: { corTitulo: '#2c2c2c', tamanhoTitulo: '28px', tamanhoTituloMobile: '24px', backgroundGaleria: 'transparent', bordaRadius: '24px', sombra: '0 4px 15px rgba(0, 0, 0, 0.1)', sombraHover: '0 8px 25px rgba(0, 0, 0, 0.15)', espacamento: '60px', espacamentoMobile: '40px', gapItens: '20px', gapItensMobile: '15px', larguraItem: '400px', alturaItem: '400px', larguraItemMobile: '300px', alturaItemMobile: '300px' } }; // ========================================== // ?? VERIFICAÇÃO DE URL // ========================================== function verificarURL() { // Se não houver URLs para verificar, carrega em qualquer página if (config.urlsVerificacao.length === 0) return true; const urlAtual = window.location.href; return config.urlsVerificacao.some(termo => urlAtual.indexOf(termo) !== -1); } if (!verificarURL()) { console.log('Carrossel não carregado - URL não corresponde'); return; } console.log(`Iniciando carrossel ${config.nomeProduto}...`); // ========================================== // ?? INJETAR ESTILOS CSS // ========================================== function criarEstilos() { const style = document.createElement('style'); style.textContent = ` #galeria-carrossel-ping3 { width: 100%; display: block; clear: both; margin: ${config.estilos.espacamento} auto; padding: ${config.estilos.espacamento} 0; background: ${config.estilos.backgroundGaleria}; overflow: hidden; } #galeria-carrossel-ping3 h2 { text-align: center; font-size: ${config.estilos.tamanhoTitulo}; font-weight: 600; color: ${config.estilos.corTitulo}; margin-bottom: 40px; font-family: MyriadPro, Arial, sans-serif; } #carrossel-container-ping3 { width: 100%; overflow: hidden; padding: 20px 0 40px 0; position: relative; -webkit-overflow-scrolling: touch; touch-action: pan-y pinch-zoom; -webkit-transform: translateZ(0); transform: translateZ(0); } #carrossel-track-ping3 { display: flex; gap: ${config.estilos.gapItens}; padding: 0 20px; overflow-x: auto; scroll-behavior: smooth; cursor: grab; -webkit-overflow-scrolling: touch; scrollbar-width: none; -ms-overflow-style: none; } #carrossel-track-ping3::-webkit-scrollbar { display: none; } #carrossel-track-ping3.grabbing { cursor: grabbing; scroll-behavior: auto; } .carrossel-item-ping3 { width: ${config.estilos.larguraItem}; min-width: ${config.estilos.larguraItem}; max-width: ${config.estilos.larguraItem}; height: ${config.estilos.alturaItem}; min-height: ${config.estilos.alturaItem}; max-height: ${config.estilos.alturaItem}; flex-shrink: 0; border-radius: ${config.estilos.bordaRadius}; overflow: hidden; background: #fff; cursor: grab; position: relative; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; box-shadow: ${config.estilos.sombra}; transition: transform 0.3s ease, box-shadow 0.3s ease; } .carrossel-item-ping3:hover { transform: translateY(-5px); box-shadow: ${config.estilos.sombraHover}; } .carrossel-item-ping3 img { width: 100%; height: 100%; min-width: 100%; min-height: 100%; max-width: 100%; max-height: 100%; object-fit: cover; -webkit-object-fit: cover; object-position: center; -webkit-object-position: center; display: block; transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1); pointer-events: none; -webkit-user-drag: none; user-select: none; -webkit-user-select: none; } .carrossel-item-ping3:hover img { transform: scale(1.05); } @media (max-width: 768px) { #galeria-carrossel-ping3 { margin: ${config.estilos.espacamentoMobile} auto; padding: ${config.estilos.espacamentoMobile} 0; } #galeria-carrossel-ping3 h2 { font-size: ${config.estilos.tamanhoTituloMobile}; margin-bottom: 30px; } .carrossel-item-ping3 { width: ${config.estilos.larguraItemMobile}; min-width: ${config.estilos.larguraItemMobile}; max-width: ${config.estilos.larguraItemMobile}; height: ${config.estilos.alturaItemMobile}; min-height: ${config.estilos.alturaItemMobile}; max-height: ${config.estilos.alturaItemMobile}; } #carrossel-track-ping3 { gap: ${config.estilos.gapItensMobile}; padding: 0 15px; } } `; document.head.appendChild(style); } // ========================================== // ??? CRIAR ESTRUTURA HTML // ========================================== function criarCarrossel() { // Container principal const galeria = document.createElement('div'); galeria.id = 'galeria-carrossel-ping3'; // Título const titulo = document.createElement('h2'); titulo.textContent = config.titulo; galeria.appendChild(titulo); // Container do carrossel const container = document.createElement('div'); container.id = 'carrossel-container-ping3'; // Track (trilho das imagens) const track = document.createElement('div'); track.id = 'carrossel-track-ping3'; // Criar itens do carrossel config.imagens.forEach((imagem, index) => { const item = document.createElement('div'); item.className = 'carrossel-item-ping3'; const img = document.createElement('img'); // Verificar se é URL completa ou apenas nome do arquivo if (imagem.startsWith('http://') || imagem.startsWith('https://')) { img.src = imagem; } else { img.src = `${config.baseUrl}${imagem}?v=${config.versao}`; } img.alt = `${config.nomeProduto} - Imagem ${index + 1}`; img.loading = 'lazy'; img.draggable = false; item.appendChild(img); track.appendChild(item); }); container.appendChild(track); galeria.appendChild(container); return galeria; } // ========================================== // ??? FUNCIONALIDADE DE DRAG (MOUSE) // ========================================== function adicionarDragMouse(track) { let isDown = false; let startX; let scrollLeft; track.addEventListener('mousedown', (e) => { isDown = true; track.classList.add('grabbing'); startX = e.pageX - track.offsetLeft; scrollLeft = track.scrollLeft; e.preventDefault(); }); track.addEventListener('mouseleave', () => { isDown = false; track.classList.remove('grabbing'); }); track.addEventListener('mouseup', () => { isDown = false; track.classList.remove('grabbing'); }); track.addEventListener('mousemove', (e) => { if (!isDown) return; e.preventDefault(); const x = e.pageX - track.offsetLeft; const walk = (x - startX) * 2; track.scrollLeft = scrollLeft - walk; }); } // ========================================== // ?? FUNCIONALIDADE TOUCH (MOBILE) // ========================================== function adicionarTouchSupport(track) { let touchStartX = 0; let touchScrollLeft = 0; track.addEventListener('touchstart', (e) => { touchStartX = e.touches[0].pageX; touchScrollLeft = track.scrollLeft; }, { passive: true }); track.addEventListener('touchmove', (e) => { const touchX = e.touches[0].pageX; const walk = (touchStartX - touchX) * 1.5; track.scrollLeft = touchScrollLeft + walk; }, { passive: true }); } // ========================================== // ?? INICIALIZAÇÃO // ========================================== function inicializar() { // Adicionar estilos criarEstilos(); // Criar carrossel const carrossel = criarCarrossel(); // Inserir no body (ou você pode especificar outro local) document.body.appendChild(carrossel); // Adicionar funcionalidades de drag const track = document.getElementById('carrossel-track-ping3'); adicionarDragMouse(track); adicionarTouchSupport(track); console.log(`Carrossel ${config.nomeProduto} inicializado com sucesso!`); } // ========================================== // ?? EXECUTAR QUANDO DOM ESTIVER PRONTO // ========================================== if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', inicializar); } else { inicializar(); } })();