@import "tokens.css";
/* =====================================================================
   footer-embed.css — regras do .site-footer isoladas dos resets globais
   do style.css (body/a/img/*), para uso em templates Tailwind-only (home)
   que não carregam o style.css inteiro. Mantido em espelho com o bloco
   "footer" de style.css — atualizar os dois juntos.
   ===================================================================== */
.site-footer { background: #08306e; color: rgba(255,255,255,.85); padding: 64px 0 32px; margin-top: 0; }
.site-footer a { text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }
.site-footer .container { width: 100%; max-width: var(--maxw); margin: 0 auto; padding: 0 48px; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; align-items: start; }
.footer-col-brand { max-width: 360px; }
.footer-logo { height: 96px; width: auto; margin: 0 0 16px; }
.footer-tagline-eyebrow { font-size: 14px; font-weight: 600; color: rgba(255,255,255,.9); margin: 0 0 6px; }
.footer-tagline { font-size: 14px; color: rgba(255,255,255,.7); margin: 0; }
.footer-col-label { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.6); margin: 0 0 16px; }
.footer-nav { display: flex; flex-direction: column; gap: 10px; }
.footer-nav a, .footer-nav-static { color: rgba(255,255,255,.85); font-size: 14px; }
.footer-nav a:hover { color: #fff; text-decoration: none; }
.footer-social { display: flex; flex-direction: row; align-items: center; gap: 14px; }
.footer-social a {
  width: 40px; height: 40px; border-radius: 10px;
  background: rgba(255,255,255,.08); color: rgba(255,255,255,.85);
  display: inline-flex; align-items: center; justify-content: center;
  transition: background .15s, color .15s;
}
.footer-social a:hover { background: rgba(255,255,255,.16); color: #fff; text-decoration: none; }
.site-footer .footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 96px; padding-top: 48px; border-top: 1px solid rgba(255,255,255,.1); }
.footer-legal { font-size: 12px; color: rgba(255,255,255,.6); margin: 0; }
.footer-legal-links { display: flex; gap: 20px; }
.footer-legal-links a { font-size: 12px; color: rgba(255,255,255,.5); }
.footer-legal-links a:hover { color: rgba(255,255,255,.85); text-decoration: none; }

@media (max-width: 980px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-col-brand { grid-column: 1 / -1; max-width: none; }
}
@media (max-width: 640px) {
  .site-footer .container { padding: 0 20px; }
  .footer-grid { grid-template-columns: 1fr; gap: 24px; }
}
