/* ============================================================
   FOOTER
   ============================================================ */
.site-footer { background: var(--ink); color: #cdd8ea; padding-top: clamp(3.5rem,7vw,6rem); position:relative; overflow:hidden; }
.footer__top { display:grid; gap: 2.6rem; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; }
@media (max-width:900px){ .footer__top { grid-template-columns: 1fr 1fr; } }
@media (max-width:560px){ .footer__top { grid-template-columns: 1fr; } }
.footer__brand .brand__logo { height: 24px; }
.footer__brand p { margin-top:1.1rem; color: var(--slate-400); max-width: 34ch; font-size:.94rem; }
.footer__col h4 { color:#fff; font-size:.82rem; letter-spacing:.16em; text-transform:uppercase; font-family:var(--font-mono); font-weight:500; margin-bottom:1.1rem; color: var(--slate-400); }
.footer__col a { display:block; padding:.4rem 0; color:#cdd8ea; font-size:.95rem; transition: color .25s, transform .25s; }
.footer__col a:hover { color: var(--yellow); transform: translateX(3px); }
.footer__contact li { display:flex; gap:.7rem; padding:.4rem 0; font-size:.95rem; align-items:flex-start; }
.footer__contact svg { width:18px;height:18px;color:var(--blue-400); flex:none; margin-top:3px; }
.footer__bottom {
  margin-top: clamp(3rem,5vw,4rem); padding-block: 1.6rem;
  border-top:1px solid rgba(255,255,255,.1);
  display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; align-items:center;
  font-size:.82rem; color: var(--slate-400);
}
.footer__bottom .font-mono { font-family: var(--font-mono); }
.footer__legal-links { display:flex; gap:1.2rem; }
.footer__legal-links a { color: var(--slate-400); text-decoration:none; }
.footer__legal-links a:hover { color:#fff; }

/* WhatsApp float */
.wa-float {
  position:fixed; right: 1.2rem; bottom: calc(1.2rem + env(safe-area-inset-bottom)); z-index:90;
  width:58px;height:58px;border-radius:50%; background:#25D366; color:#052E22; border:1px solid #12A150;
  display:grid;place-items:center; box-shadow: 0 12px 30px -8px rgba(37,211,102,.6);
  transition: transform .3s var(--ease);
}
@media (max-width:380px){
  .wa-float { width:50px; height:50px; right:1rem; bottom: calc(1rem + env(safe-area-inset-bottom)); }
  .wa-float svg { width:26px; height:26px; }
}
.wa-float:hover { transform: scale(1.08) rotate(4deg); }
.wa-float svg { width:30px;height:30px; }
.wa-float::after {
  content:""; position:absolute; inset:0; border-radius:50%;
  box-shadow: 0 0 0 0 rgba(37,211,102,.5); animation: waPulse 2.4s infinite;
}
@keyframes waPulse { to { box-shadow: 0 0 0 18px rgba(37,211,102,0); } }


/* Endereço do rodapé: o texto não é mais link; o clique fica no botão
   "Como chegar", que abre a rota no Google Maps. */
.footer__addr { display:flex; flex-direction:column; gap:.45rem; }
.footer__directions {
  display:inline-flex; align-items:center; gap:.4rem; align-self:flex-start;
  font-family:var(--font-mono); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--blue-400); border:1px solid currentColor; border-radius:100px;
  padding:.3rem .7rem; transition: color .18s ease, background .18s ease;
}
.footer__directions:hover { color:#fff; background:rgba(255,255,255,.08); }
.footer__directions svg { width:13px; height:13px; margin-top:0; }
