/* Fix para problemas de carregamento de imagens - ESPECIALMENTE PARA HOSTINGER MOBILE */ /* Reset e configurações básicas */ * { box-sizing: border-box; } /* Garantir que as imagens sejam exibidas corretamente */ img { max-width: 100%; height: auto; display: block; object-fit: cover; min-height: 200px; background: linear-gradient(135deg, #f5f5f5 0%, #e0e0e0 100%); position: relative; border-radius: 8px; transition: all 0.3s ease; /* Forçar recarregamento em mobile */ -webkit-transform: translateZ(0); transform: translateZ(0); /* Prevenir problemas de cache */ image-rendering: -webkit-optimize-contrast; image-rendering: crisp-edges; } /* Estados de carregamento */ .img-loading { background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%); background-size: 200% 100%; animation: loading 1.5s infinite; opacity: 0.7; } .img-loaded { opacity: 1; background: none; } .img-error { background: #fff5f5; border: 2px dashed #dc3545; } /* Fallback para imagens que não carregam */ img::before { content: "🍔"; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 48px; color: #ea1d2c; z-index: 1; display: flex; align-items: center; justify-content: center; } /* Imagens de produtos específicas */ .produto-card img { width: 100%; height: auto; display: block; object-fit: cover; min-height: 250px; max-height: 300px; border-radius: 8px 8px 0 0; background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); /* Forçar recarregamento */ -webkit-backface-visibility: hidden; backface-visibility: hidden; } /* Banner específico */ .topo-simples { text-align: center; padding: 40px 20px; background: url('wp-content/uploads/2025/07/foto-logo.png') center/cover; color: white; margin-bottom: 0; border-radius: 0; position: relative; overflow: hidden; min-height: 100vh; height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; } .topo-simples::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.4); z-index: 1; } .topo-simples > * { position: relative; z-index: 2; } .topo-simples h1 { color: white; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8); margin-bottom: 15px; font-size: 42px; } .topo-simples p { color: white; text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8); font-size: 18px; margin: 0; } .scroll-indicator { position: absolute; bottom: 50px; left: 50%; transform: translateX(-50%); color: white; font-size: 16px; font-weight: bold; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.9); animation: bounce 2s infinite; background: rgba(0, 0, 0, 0.6); padding: 10px 20px; border-radius: 25px; z-index: 10; } @keyframes bounce { 0%, 20%, 50%, 80%, 100% { transform: translateX(-50%) translateY(0); } 40% { transform: translateX(-50%) translateY(-10px); } 60% { transform: translateX(-50%) translateY(-5px); } } /* Imagens de depoimentos */ .elementor-widget-image img { max-width: 100%; height: auto; border-radius: 8px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); min-height: 300px; object-fit: cover; } /* Loading state para imagens */ img:not([src]), img[src=""], img[src*="data:image/svg+xml"] { background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%); background-size: 200% 100%; animation: loading 1.5s infinite; } @keyframes loading { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } } /* CORREÇÕES ESPECÍFICAS PARA HOSTINGER MOBILE */ /* 1. Forçar recarregamento de imagens em mobile */ @media (max-width: 768px) { img { /* Forçar GPU acceleration */ -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); /* Prevenir problemas de cache */ -webkit-backface-visibility: hidden; backface-visibility: hidden; /* Melhorar renderização */ image-rendering: -webkit-optimize-contrast; image-rendering: crisp-edges; } /* Corrigir problema de piscamento */ .produto-card img { opacity: 1 !important; visibility: visible !important; display: block !important; /* Forçar recarregamento */ -webkit-transform: translateZ(0); transform: translateZ(0); } /* Fallback mais robusto para imagens que não carregam */ img[src*="wp-content/uploads"] { background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); position: relative; } img[src*="wp-content/uploads"]::after { content: "🍔"; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 32px; color: #ea1d2c; z-index: 10; background: rgba(255, 255, 255, 0.9); padding: 10px; border-radius: 50%; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); } } /* 2. Correções específicas para problemas de cache */ @media (max-width: 768px) { .produto-card img { min-height: 200px; max-height: 250px; /* Forçar recarregamento */ -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .topo-simples { padding: 30px 15px; height: 100vh; min-height: 100vh; /* Forçar recarregamento do background */ background-attachment: scroll; background-size: cover; background-position: center; } .topo-simples h1 { font-size: 32px; } .topo-simples p { font-size: 16px; } .scroll-indicator { bottom: 40px; font-size: 14px; padding: 8px 16px; } .elementor-widget-image img { min-height: 200px; } } @media (max-width: 480px) { .topo-simples { padding: 25px 10px; height: 100vh; min-height: 100vh; } .topo-simples h1 { font-size: 28px; } .topo-simples p { font-size: 14px; } .scroll-indicator { bottom: 30px; font-size: 12px; padding: 6px 12px; } /* Correções adicionais para mobile pequeno */ img { min-height: 150px; /* Forçar recarregamento */ -webkit-transform: translateZ(0); transform: translateZ(0); } } /* 3. Fallback para imagens quebradas */ img[src*="xguiacompleto.shop"] { display: none; } img[src*="xguiacompleto.shop"]::after { content: "Imagem não disponível"; display: flex; align-items: center; justify-content: center; background: #f8f9fa; color: #6c757d; font-size: 14px; padding: 20px; text-align: center; } /* 4. Forçar exibição de imagens locais */ img[src^="wp-content/"] { display: block !important; visibility: visible !important; opacity: 1 !important; /* Forçar recarregamento */ -webkit-transform: translateZ(0); transform: translateZ(0); } /* 5. Estilo para cards de produtos */ .produto-card { background: white; border-radius: 10px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); overflow: hidden; text-align: left; position: relative; border: 2px solid #28a745; display: flex; flex-direction: column; justify-content: space-between; min-height: 400px; } /* 6. Garantir que o conteúdo do card seja exibido corretamente */ .produto-content { padding: 20px; flex-grow: 1; display: flex; flex-direction: column; justify-content: space-between; } /* 7. Estilo para botões */ .botao { background-color: #ea1d2c; color: white; border: none; padding: 12px; font-size: 16px; width: 100%; border-radius: 6px; margin-top: 10px; cursor: pointer; transition: background-color 0.3s ease; } .botao:hover { background-color: #c41824; } /* 8. Grid responsivo */ .cards-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; padding: 30px; max-width: 1100px; margin: 0 auto; } /* 9. Debug: destacar imagens que não carregam */ img:not([src]), img[src=""], img[src*="data:image/svg+xml"] { border: 2px dashed #dc3545; background: #fff5f5; } /* 10. Garantir que todas as imagens tenham alt text */ img[alt=""] { border: 2px dashed #ffc107; } /* 11. Estilo para imagens de combos */ .produto-card .selo-mais-vendido { background: #d4edda; color: #155724; font-weight: bold; font-size: 14px; padding: 5px 10px; border-radius: 6px; border: 1px solid #c3e6cb; position: absolute; top: 10px; left: 10px; z-index: 10; } /* 12. Melhorar visibilidade das imagens */ img { box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); } /* 13. Garantir que imagens com erro sejam visíveis */ .img-error::after { content: "⚠️ Imagem não carregou"; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgba(220, 53, 69, 0.9); color: white; padding: 8px 12px; border-radius: 4px; font-size: 12px; font-weight: bold; z-index: 10; } /* 14. CORREÇÕES ESPECÍFICAS PARA HOSTINGER */ /* Forçar recarregamento de todas as imagens */ img[src*="wp-content/uploads"] { /* Adicionar timestamp para forçar recarregamento */ -webkit-transform: translateZ(0); transform: translateZ(0); /* Prevenir problemas de cache */ -webkit-backface-visibility: hidden; backface-visibility: hidden; /* Melhorar renderização */ image-rendering: -webkit-optimize-contrast; image-rendering: crisp-edges; } /* 15. Correção para problemas de lazy loading */ img[loading="lazy"] { /* Forçar carregamento imediato em mobile */ loading: auto; } /* 16. Fallback para imagens com problemas de rede */ @media (max-width: 768px) { img { /* Fallback mais robusto */ background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); position: relative; } img::before { content: "🍔"; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 24px; color: #ea1d2c; z-index: 5; background: rgba(255, 255, 255, 0.9); padding: 8px; border-radius: 50%; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); } } /* 17. Correção para problemas de compressão da Hostinger */ @media (max-width: 768px) { img { /* Forçar qualidade máxima */ image-rendering: -webkit-optimize-contrast; image-rendering: crisp-edges; image-rendering: pixelated; } } /* 18. Prevenir piscamento durante carregamento */ .img-loading { opacity: 0.8; transition: opacity 0.3s ease; } .img-loaded { opacity: 1; transition: opacity 0.3s ease; } /* 19. Fallback para conexões lentas */ @media (max-width: 768px) { .produto-card img { /* Fallback para conexões lentas */ background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); position: relative; } .produto-card img::after { content: "🍔"; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 28px; color: #ea1d2c; z-index: 10; background: rgba(255, 255, 255, 0.9); padding: 12px; border-radius: 50%; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); } }