.site-footer { background-color:var(--verde-escuro); color:var(--branco); padding:60px 0 0; margin-top:60px; }
.footer-container { max-width:var(--max-width); margin:0 auto; padding:0 20px 40px; display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.footer-column h3 { font-size:18px; font-weight:700; margin-bottom:20px; color:var(--branco); position:relative; padding-bottom:8px; }
.footer-column h3::after { content:''; position:absolute; left:0; bottom:0; width:40px; height:2px; background-color:var(--laranja); }
.footer-about p,.footer-contact p { font-size:15px; line-height:1.6; color:rgba(255,255,255,0.7); margin-bottom:15px; }
.footer-socials { display:flex; gap:15px; margin-top:20px; }
.footer-socials a { color:var(--branco); text-decoration:none; font-size:14px; background-color:rgba(255,255,255,0.1); padding:8px 15px; border-radius:4px; transition:background-color var(--transicao-media); }
.footer-socials a:hover { background-color:var(--laranja); }
.footer-links ul li { margin-bottom:12px; }
.footer-links a { color:rgba(255,255,255,0.7); text-decoration:none; font-size:15px; transition:color var(--transicao-media),padding-left var(--transicao-media); }
.footer-links a:hover { color:var(--branco); padding-left:5px; }
.footer-bottom { background-color:#0b1c17; padding:20px 0; border-top:1px solid rgba(255,255,255,0.05); }
.footer-bottom-container { max-width:var(--max-width); margin:0 auto; padding:0 20px; display:flex; justify-content:space-between; align-items:center; font-size:14px; color:rgba(255,255,255,0.5); }
.back-to-top { color:rgba(255,255,255,0.5); text-decoration:none; transition:color var(--transicao-media); }
.back-to-top:hover { color:var(--branco); }

@media (max-width:768px) {
    .footer-container { grid-template-columns:1fr; gap:30px; }
    .footer-bottom-container { flex-direction:column; gap:10px; text-align:center; }
}
