.footer-bg { padding: 80px 0; background: var(--preto); }
.footer-bg .footer { display: flex; gap: 50px; }
.footer-bg .footer form { flex: 1 1 50%; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 15px; }
.footer-bg .footer form input { height: 50px; padding: 0 0 0 20px; box-sizing: border-box; font: 16px var(--font1); background: var(--branco); color: var(--preto); }
.footer-bg .footer form input,
.footer-bg .footer form button { border: none; outline: none; border-radius: 8px; }
.footer-bg .footer form input::placeholder { color: var(--preto); }
.footer-bg .footer form input[name=nome] { flex: 0 0 100%; }
.footer-bg .footer form input[name=email] { flex: 0 0 50%; }
.footer-bg .footer form input[name=telefone] { flex: 0 0 calc(50% - 20px); }
.footer-bg .footer form textarea[name=mensagem] { flex: 0 0 50%; border-radius: 8px; padding: 20px 0 0 20px; font: 16px var(--font1); box-sizing: border-box; resize: vertical; max-height: 300px; background: var(--branco); }
.footer-bg .footer form textarea[name=mensagem]::placeholder { color: var(--preto); }
.footer-bg .footer form .captcha-parent { flex: 0 0 calc(50% - 20px); flex-direction: column; display: flex; gap: 15px; }
.footer-bg .footer form .captcha .g-recaptcha { display: flex; align-items: center; justify-content: center; }
.footer-bg .footer form button { overflow: hidden; transition: .4s ease; height: 50px; background: var(--cor1); cursor: pointer; color: var(--branco); font: 16px var(--font1); text-transform: uppercase; position: relative; z-index: 2; }
 
.footer-bg .footer form button::after { content: ''; position: absolute; top: -165%; left: -55%; width: 46%; height: 330%; background: linear-gradient( 112deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.06) 30%, rgba(255, 255, 255, 0.18) 45%, rgba(255, 255, 255, 0.38) 50%, rgba(255, 255, 255, 0.18) 55%, rgba(255, 255, 255, 0.06) 70%, rgba(255, 255, 255, 0) 100%); transform: translateX(-280%) rotate(22deg); opacity: 0; pointer-events: none; z-index: 1; }
.footer-bg .footer form button:hover,
.footer-bg .footer form button.ativo { background: var(--cor2); }
.footer-bg .footer form button:hover { box-shadow: inset 0 1px rgba(255, 255, 255, .2), inset 0 -1px rgba(0, 0, 0, .14); }
.footer-bg .footer form button:hover::after { opacity: 1; animation: headerBottomShiny 1.05s cubic-bezier(.22, .7, .2, 1); }

@keyframes headerBottomShiny { 0% { transform: translateX(-280%) rotate(22deg); opacity: 0; }
    18% { opacity: 1; }
    52% { opacity: .92; }
    100% { transform: translateX(340%) rotate(22deg); opacity: 0; }
}

.footer-bg .footer form input,
.footer-bg .footer form textarea[name=mensagem] { transition: box-shadow 0.25s ease, transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.25s ease; position: relative; }
.footer-bg .footer form input:hover,
.footer-bg .footer form textarea[name=mensagem]:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0, 0, 0, 0.10), 0 0 0 2px rgba(var(--cor1-rgb, 0, 0, 0), 0.12); background: var(--branco); }
.footer-bg .footer form input:focus,
.footer-bg .footer form textarea[name=mensagem]:focus { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 0 0 2.5px var(--cor1); background: #fff; outline: none; }
.footer-bg .footer form input:focus::placeholder,
.footer-bg .footer form textarea[name=mensagem]:focus::placeholder { opacity: 0.4; transform: translateX(4px); transition: opacity 0.2s ease, transform 0.2s ease; }
.footer-bg .footer form input::placeholder,
.footer-bg .footer form textarea[name=mensagem]::placeholder { transition: opacity 0.2s ease, transform 0.2s ease; }
.footer-bg .footer form:focus-within input:not(:focus),
.footer-bg .footer form:focus-within textarea:not(:focus) { opacity: 0.6; transform: scale(0.99); transition: opacity 0.3s ease, transform 0.3s ease, box-shadow 0.25s ease, background 0.25s ease; }
.footer-bg .footer form:focus-within input:focus,
.footer-bg .footer form:focus-within textarea:focus { opacity: 1; transform: translateY(-3px) scale(1);  }

.footer > .content { display: flex; flex-direction: column; gap: 45px; }
.footer > .content .titulo { font: 300 36.39px gotham; color: var(--branco); padding-left: 15px; border-left: 7px solid var(--cor1); }
.footer > .content .titulo span { font: 800 38.7px gotham; }
.footer > .content .whats-parent { display: flex; gap: 40px; }
.footer > .content .links { display: flex; flex-direction: column; gap: 20px; }
.footer > .content .links > .link { display: flex; align-items: center; gap: 10px; color: var(--branco); transition: .4s ease; }
.footer > .content .links > .link .img { display: flex; align-items: center; justify-content: center; width: 35px; height: 35px; background: var(--cor1); border-radius: 5px; position: relative; overflow: hidden; transition: transform var(--transition2, .4s), box-shadow var(--transition2, .4s); }
.footer > .content .links > .link .img::before { content: ''; position: absolute; inset: 0; border-radius: inherit; background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .24), rgba(255, 255, 255, 0) 70%); opacity: 0; transition: opacity var(--transition2, .4s); pointer-events: none; }
.footer > .content .links > .link .img::after { content: ''; position: absolute; top: -145%; left: -60%; width: 44%; height: 290%; background: linear-gradient(115deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .2) 42%, rgba(255, 255, 255, .72) 50%, rgba(255, 255, 255, .2) 58%, rgba(255, 255, 255, 0) 100%); transform: translateX(-220%) rotate(20deg); opacity: 0; pointer-events: none; }
.footer > .content .links > .link p { font: 15px montserrat; }
.footer > .content .links > .link span { font: 500 11.64px montserrat; color: var(--cor1); }

.footer > .content .links .link:not(.whats-href):hover .img { transform: translateY(-1px) scale(1.02); box-shadow: 0 0 7px var(--cor1); }
.footer > .content .links .link:not(.whats-href):hover .img::before { opacity: .55; }
.footer > .content .links .link:not(.whats-href):hover .img::after { opacity: 1; animation: zapShinySweep .85s ease-out; }
.footer > .content .links .link:not(.whats-href):hover .img img { transform: scale(1.04); }

@media (max-width: 990px) {
  .footer-bg { padding: 40px 0; }
  .footer-bg .footer { flex-direction: column; }
  .footer-bg .footer form { flex-direction: column; flex-wrap: nowrap; justify-content: initial; }
  .footer-bg .footer form textarea,
  .footer-bg .footer form input,
  .footer-bg .footer form .captcha { flex: 1 1 100% !important; }
  .footer-bg .footer form textarea { min-height: 150px; }
  .footer-bg .footer form input { padding: 10px !important; }
  .footer-bg .footer,
  .footer > .content { gap: 25px; }
  .footer > .content .titulo span { font-size: clamp(24px, 3.8vw, 35px); }
  .footer > .content .titulo { font-size: clamp(24px, 3.5vw, 34px); }
  .footer > .content .whats-parent { flex-direction: column; gap: 20px; }
} 