.footer { background: var(--spa-dark-surface); color: var(--spa-white); padding: 3.5rem 0 2rem; }
.footer-in { display: grid; grid-template-columns: auto 1fr auto; gap: 2rem; align-items: center; }
.footer img { height: 44px; width: auto; }
.footer-nav { display: flex; gap: 1.5rem; justify-content: center; flex-wrap: wrap; }
/* padding garante ~44px de área de toque (texto sozinho ficava em ~24px de altura;
   "Sobre" sozinho tinha 42px de largura, abaixo do mínimo) */
.footer-nav a, .footer-legal a { color: var(--spa-dark-muted); font-size: .95rem; padding: .65rem .2rem; }
.footer-nav a:hover, .footer-legal a:hover { color: var(--spa-white); }
.footer-redes { display: flex; gap: .75rem; }
.footer-redes a { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--spa-dark-border); border-radius: 12px; color: var(--spa-white); transition: border-color .25s, color .25s; }
.footer-redes a:hover { border-color: var(--spa-cyan); color: var(--spa-cyan); }
.footer-legal { grid-column: 1 / -1; display: flex; gap: 1.5rem; flex-wrap: wrap; align-items: center; padding-top: 1.5rem; margin-top: .5rem; border-top: 1px solid var(--spa-dark-border); font-size: .88rem; color: var(--spa-dark-muted); }
.footer-legal span { margin-left: auto; }
@media (max-width: 767px) { .footer-in { grid-template-columns: 1fr; text-align: center; } .footer-redes { justify-content: center; } .footer-legal { justify-content: center; } .footer-legal span { margin: 0; width: 100%; } }
