/* ==== Estilos base (desktop) ==== */
footer {
  background-color: #373737;
  font-family: 'Montserrat', sans-serif;
  padding: 100px 60px;
}

.footer-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;        /* permite que las secciones se ajusten si se encogen */
  max-width: 1200px;
  margin: 0 auto;
}

.footer-section {
  flex: 1 1 200px;        /* crece y encoge, mínimo 200px */
  padding: 0 20px;
  box-sizing: border-box;
}

/* Branding */
.footer-section.brand h1 {
  color: #fff;
  font-size: 2em;
  font-weight: 400;
  margin: 0;
}

/* Links */
.footer-section.links p {
  margin: 8px 0;
  color: #b2b2b2;
}
.footer-section.links a {
  color: inherit;
  text-decoration: none;
}
.footer-section.links a:hover {
  color: #63ded0;
}

/* Contacto */
.footer-section.contact-info p {
  margin: 6px 0;
  color: #b2b2b2;
}
.footer-section.contact-info a {
  color: inherit;
  text-decoration: none;
}
.footer-section.contact-info a:hover {
  color: #63ded0;
}

/* ==== Responsive (móvil) ==== */
@media screen and (max-width: 768px) {
  footer {
    padding: 20px;
  }

  .footer-content {
    flex-direction: column;
    align-items: center;
  }

  .footer-section {
    flex: none;
    width: 100%;
    padding: 10px 0;
    text-align: center;
  }

  /* Ajusta tamaños de texto */
  .footer-section.brand h1 {
    font-size: 1.5em;
  }
  .footer-section.links p,
  .footer-section.contact-info p {
    font-size: 0.9em;
  }
}
