.footer {
  background: var(--preto-fosco);
  color: var(--branco);
  padding: var(--spacing-4xl) 0 var(--spacing-xl);
  position: relative;
  overflow: hidden;
}

.footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--vermelho-vintage), var(--dourado-escuro), var(--vermelho-vintage));
}

.footer-logo h3 {
  color: var(--branco);
  font-family: var(--font-primary);
  font-size: var(--font-size-2xl);
  margin-bottom: var(--spacing-md);
  font-weight: 700;
}

.footer-logo .premium {
  color: var(--dourado-escuro);
}

.footer-logo p {
  color: var(--cinza-claro);
  font-style: italic;
  font-size: var(--font-size-base);
  margin-bottom: var(--spacing-xl);
}

.social-links {
  display: flex;
  gap: var(--spacing-md);
  margin-bottom: var(--spacing-xl);
}

.social-links a {
  width: 50px;
  height: 50px;
  background: var(--cinza-metalico);
  color: var(--branco);
  border-radius: var(--border-radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-xl);
  transition: var(--transition-normal);
  border: 2px solid transparent;
}

.social-links a:hover {
  background: linear-gradient(135deg, var(--vermelho-vintage), var(--dourado-escuro));
  transform: translateY(-3px) scale(1.1);
  color: var(--branco);
  border-color: var(--branco);
}

.footer h4 {
  color: var(--dourado-escuro);
  font-family: var(--font-primary);
  font-size: var(--font-size-xl);
  margin-bottom: var(--spacing-lg);
  font-weight: 600;
  position: relative;
}

.footer h4::after {
  content: '';
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 40px;
  height: 2px;
  background: var(--vermelho-vintage);
}

.horario p {
  color: var(--cinza-claro);
  font-size: var(--font-size-base);
  margin-bottom: var(--spacing-sm);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-sm) 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.horario p:last-child {
  border-bottom: none;
}

.horario strong {
  color: var(--branco);
  min-width: 120px;
}

.contato-info {
  margin-top: var(--spacing-lg);
}

.contato-info p {
  color: var(--cinza-claro);
  font-size: var(--font-size-base);
  margin-bottom: var(--spacing-md);
  display: flex;
  align-items: center;
}

.contato-info i {
  color: var(--vermelho-vintage);
  margin-right: var(--spacing-md);
  min-width: 20px;
  font-size: var(--font-size-lg);
}

.mapa {
  border-radius: var(--border-radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  border: 2px solid var(--cinza-metalico);
  transition: var(--transition-normal);
}

.mapa:hover {
  border-color: var(--vermelho-vintage);
  transform: translateY(-2px);
  box-shadow: var(--shadow-xl);
}

.mapa iframe {
  width: 100%;
  height: 200px;
  border: none;
  transition: var(--transition-normal);
}

.footer hr {
  border: none;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--cinza-metalico), transparent);
  margin: var(--spacing-2xl) 0 var(--spacing-lg);
}

.copyright {
  color: var(--cinza-claro);
  font-size: var(--font-size-sm);
  margin-bottom: var(--spacing-sm);
}

.cnpj {
  color: var(--cinza-medio);
  font-size: var(--font-size-xs);
  margin-bottom: 0;
}

/* Animações de entrada */
.footer-logo,
.horario,
.contato-info,
.mapa {
  opacity: 0;
  transform: translateY(30px);
  transition: var(--transition-slow);
}

.footer-logo.visible,
.horario.visible,
.contato-info.visible,
.mapa.visible {
  opacity: 1;
  transform: translateY(0);
}

.footer-logo { transition-delay: 0.1s; }
.horario { transition-delay: 0.2s; }
.contato-info { transition-delay: 0.3s; }
.mapa { transition-delay: 0.4s; }

.social-links a {
  opacity: 0;
  transform: translateY(20px);
  transition: var(--transition-normal);
}

.social-links a.visible {
  opacity: 1;
  transform: translateY(0);
}

.social-links a:nth-child(1) { transition-delay: 0.5s; }
.social-links a:nth-child(2) { transition-delay: 0.6s; }
.social-links a:nth-child(3) { transition-delay: 0.7s; }

/* Responsividade */
@media (max-width: 992px) {
  .footer {
    padding: var(--spacing-3xl) 0 var(--spacing-lg);
  }
  
  .footer .col-lg-4 {
    margin-bottom: var(--spacing-2xl);
  }
  
  .footer .col-lg-4:last-child {
    margin-bottom: 0;
  }
}

@media (max-width: 768px) {
  .footer-logo h3 {
    font-size: var(--font-size-xl);
    text-align: center;
  }
  
  .footer-logo p {
    text-align: center;
  }
  
  .social-links {
    justify-content: center;
  }
  
  .footer h4 {
    font-size: var(--font-size-lg);
    text-align: center;
  }
  
  .footer h4::after {
    left: 50%;
    transform: translateX(-50%);
  }
  
  .horario p {
    font-size: var(--font-size-sm);
  }
  
  .contato-info p {
    font-size: var(--font-size-sm);
    justify-content: center;
  }
  
  .mapa {
    margin-top: var(--spacing-lg);
  }
}

@media (max-width: 576px) {
  .footer {
    padding: var(--spacing-2xl) 0 var(--spacing-md);
  }
  
  .social-links a {
    width: 40px;
    height: 40px;
    font-size: var(--font-size-lg);
  }
  
  .horario p {
    flex-direction: column;
    text-align: center;
    gap: var(--spacing-xs);
  }
  
  .horario strong {
    min-width: auto;
  }
  
  .contato-info p {
    flex-direction: column;
    text-align: center;
    gap: var(--spacing-xs);
  }
  
  .contato-info i {
    margin-right: 0;
  }
  
  .mapa iframe {
    height: 150px;
  }
}

