.footer { background: var(--fundo-escuro); color: var(--texto-claro); padding: var(--espaco-xl) 0 var(--espaco-lg); border-top: 1px solid var(--borda-sutil-escuro); }
.footer-container { max-width: 1200px; margin: 0 auto; padding: 0 var(--espaco-lg); display: grid; grid-template-columns: 1.2fr 1fr 1fr 1.3fr; gap: var(--espaco-lg); align-items: start; }
.footer-col { display: flex; flex-direction: column; gap: var(--espaco-sm); }
.footer-logo img { max-width: 140px; height: auto; margin-bottom: var(--espaco-sm); }
.footer-phrase { font-size: 0.9rem; color: var(--texto-claro-sec); line-height: 1.5; }
.footer-col-title { font-size: 0.95rem; font-weight: 600; color: var(--texto-claro); margin-bottom: var(--espaco-2xs); }
.quick-links a, .contact-list span { font-size: 0.85rem; color: var(--texto-claro-sec); transition: color var(--transicao-padrao); }
.quick-links a:hover { color: var(--texto-claro); }
.contact-list li { display: flex; align-items: center; gap: var(--espaco-2xs); font-size: 0.85rem; }
.contact-list i { color: var(--marca); width: 16px; text-align: center; }
.newsletter-form { display: flex; flex-direction: column; gap: var(--espaco-2xs); }
.newsletter-input { padding: var(--espaco-2xs) var(--espaco-sm); background: var(--fundo-escuro-sec); border: 1px solid var(--borda-sutil-escuro); color: var(--texto-claro); font-size: 0.85rem; border-radius: var(--raio-pequeno); }
.newsletter-input:focus { outline: none; border-color: var(--marca); }
.newsletter-btn { padding: var(--espaco-2xs) var(--espaco-md); background: var(--marca); color: var(--texto-claro); border: none; border-radius: var(--raio-pequeno); font-weight: 600; cursor: pointer; transition: background var(--transicao-padrao); font-size: 0.85rem; }
.newsletter-btn:hover { background: var(--marca-hover); }
.footer-social-row { grid-column: 1 / -1; display: flex; justify-content: center; align-items: center; gap: var(--espaco-lg); padding: var(--espaco-md) 0 var(--espaco-lg); }
.footer-social-row a { font-size: 1.25rem; opacity: 0.9; transition: opacity var(--transicao-padrao), transform var(--transicao-padrao); display: flex; align-items: center; justify-content: center; }
.footer-social-row a:hover { opacity: 1; transform: translateY(-2px); }
.footer-social-row .bi-facebook { color: var(--facebook); }
.footer-social-row .bi-instagram { background: var(--instagram); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.footer-social-row .bi-whatsapp { color: var(--whatsapp); }
.footer-social-row .bi-youtube { color: var(--youtube); }
.footer-social-row .bi-tiktok { color: var(--texto-claro); text-shadow: -0.5px -0.5px 0 var(--marca), 0.5px -0.5px 0 var(--marca), -0.5px 0.5px 0 var(--marca), 0.5px 0.5px 0 var(--marca); }
.footer-bottom { grid-column: 1 / -1; display: flex; justify-content: center; align-items: center; gap: var(--espaco-md); font-size: 0.8rem; color: var(--texto-claro-muted); padding-top: var(--espaco-2xs); flex-wrap: wrap; }
.footer-credit { margin-left: var(--espaco-md); }
@media (max-width: 1024px) { .footer-container { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .footer-container { grid-template-columns: 1fr; } .footer-bottom { flex-direction: column; gap: var(--espaco-2xs); } .footer-credit { margin-left: 0; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; transform: none !important; } .hp-reveal { opacity: 1 !important; transform: none !important; } }
