/* ==========================================================================
   Rodapé e botões flutuantes (WhatsApp e voltar ao topo)
   ========================================================================== */

.site-footer { color: #dcf0f1; margin-top: auto; }
.site-footer h6 { font-size: .75rem; text-transform: uppercase; letter-spacing: .1em; color: #8fb5b8; font-weight: 600; margin-bottom: 1rem; }
.site-footer ul { list-style: none; padding: 0; margin: 0; }
.site-footer li { margin-bottom: .55rem; font-size: .88rem; }
.site-footer a { color: inherit; }
.site-footer a:hover { color: #fff; }
.site-footer .rodape-logo { height: 64px; }
.site-footer .rodape-texto { font-size: .86rem; color: #8fb5b8; max-width: 320px; }
.site-footer .contato li { display: flex; gap: .7rem; }
.site-footer .contato .fa-solid,
.site-footer .contato .fa-brands { width: 16px; margin-top: 4px; color: var(--jj-primary-text); }
.site-footer .rodape-base { border-top: 1px solid rgba(160, 235, 228, .08); font-size: .78rem; color: #8fb5b8; }
.redes a {
    width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    background: rgba(160, 235, 228, .08);
}

/* ---------- WhatsApp flutuante ---------- */
.posicao-whatsapp {
    position: fixed; right: 20px; bottom: 20px; z-index: 1040; width: 60px; height: 60px; border-radius: 50%;
    background: var(--jj-whatsapp); color: #fff; font-size: 1.9rem; cursor: pointer;
    display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 24px rgba(37, 211, 102, .45);
    transition: transform .2s;
}
.posicao-whatsapp:hover { transform: scale(1.07); }
.posicao-whatsapp::after { content: ''; position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--jj-whatsapp); animation: pulsoWhatsapp 2.2s infinite; }
@keyframes pulsoWhatsapp { 0% { transform: scale(1); opacity: .8; } 100% { transform: scale(1.5); opacity: 0; } }

/* ---------- Voltar ao topo ---------- */
.scrollToTop {
    position: fixed; right: 30px; bottom: 92px; z-index: 1040; width: 40px; height: 40px; border-radius: 50%;
    border: 1px solid var(--jj-border); background: var(--jj-surface); color: var(--jj-text); box-shadow: var(--jj-shadow);
    display: none; align-items: center; justify-content: center;
}
.scrollToTop.visivel { display: flex; }
.scrollToTop:hover { color: var(--jj-primary-text); }
