.site-footer {
  font-family: 'Montserrat', sans-serif;
  color: #FFFFFF;
  width: 100%;
  margin-top: 40px;
}

.footer-main {
  background-color: #271A8A; 
  padding: 50px 0;
}

.footer-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap; 
  gap: 30px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

.footer-logo { flex: 1; display: flex; justify-content: flex-start; }
.footer-logo img { max-width: 250px; height: auto; }

.footer-nav { flex: 1; display: flex; justify-content: center; }
.footer-nav ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 18px; text-align: center; }
.footer-nav a { color: #FFFFFF; text-decoration: none; font-weight: 800; font-size: 1.15rem; transition: color 0.3s ease; }
.footer-nav a:hover { color: #2BBFA4; }

.footer-contact { flex: 1; display: flex; justify-content: flex-end; }
.footer-contact-content { display: flex; flex-direction: column; align-items: flex-start; }
.footer-contact-label { font-family: 'Open Sans', sans-serif; font-size: 1.05rem; margin-bottom: 8px; font-weight: 400; color: #FFFFFF; }

.footer-phone { display: flex; align-items: center; gap: 12px; color: #FFFFFF; text-decoration: none; font-size: 1.3rem; font-weight: 400; margin-bottom: 12px; }
.footer-social { display: flex; gap: 16px; padding-left: 44px; }
.footer-social a svg { transition: transform 0.3s ease; }
.footer-social a:hover svg { transform: scale(1.15); }

/* --- Barra Inferior que faltaba --- */
.footer-bottom {
  background-color: #221C35; 
  padding: 18px 0;
  width: 100%;
  display: block; /* Obligamos a que se muestre */
}

.footer-bottom-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  font-family: 'Open Sans', sans-serif;
  font-size: 0.95rem;
  color: #FFFFFF;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

.footer-bottom-inner p { margin: 0; }

@media (max-width: 900px) {
  .footer-inner { flex-direction: column; text-align: center; gap: 40px; }
  .footer-logo, .footer-contact, .footer-contact-content { align-items: center; justify-content: center; width: 100%; }
  .footer-social { padding-left: 0; }
  .footer-bottom-inner { flex-direction: column; text-align: center; gap: 12px; }
}