body {
  font-family: 'Roboto', sans-serif;
  margin: 0;
  padding: 0;
  background-color: #eeeeee; /* Neutro: Gris cálido */
}

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #85b1a9; /* Principal: Verde agua tenue */
  color: #fff;
  z-index: 1000;
  padding: 10px 0;
}

.header-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.logo {
  max-width: 100px;
  height: auto;
  border-radius: 20px;
}

nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
}

nav li {
  margin-left: 25px;
}

nav a {
  color: #ffffff;
  text-decoration: none;
  padding: 8px 15px;
  border-radius: 5px;
  transition: transform 0.3s ease, background-color 0.3s ease;
  display: block;
}

nav a:hover {
  background-color: #3e6157; /* Oscuro: Verde petróleo */
  transform: scale(1.05);
  color: #fff;
}

main {
  margin-top: 80px;
  background-color: #dce7e4;
  padding: 30px 0;
  background-image: url('pagina_principal.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: calc(100vh - 140px); /* Ajusta al espacio restante */
  display: flex;
  flex-direction: column;
  align-items: center; /* Centra horizontalmente */
}

main img {
  width: 100%;
  height: auto;
  opacity: 0;
  animation: fadeIn 2s forwards;
  display: block;
  max-width: 1200px;
  margin: 0 auto;
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.color-accent{
  height: 4px;
  background: linear-gradient(90deg, #f28b82, #f6c667);
  width: 100%;
  margin: 10px 0 20px;
}

.welcome-mesage {
  text-align: center;
  padding: 40px 0;
  color: #3e6157; /* Oscuro: Verde petróleo */
  font-size: 2.8rem;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.about-section {
  text-align: center;
  padding: 30px 20px; /* Reduce el padding para un recuadro más compacto */
  background-color: #dcd5d5;
  max-width: 800px; /* Reduce el ancho máximo */
  height: auto; /* Permite que el alto se ajuste al contenido */
  max-height: 400px; /* Limita la altura máxima */
  border-radius: 20px;
  margin: 0 auto; /* Centra el recuadro */
  overflow-y: auto; /* Agrega scroll si el contenido excede la altura */
}

.about-section h1 {
  color: #3e6157; /* Oscuro: Verde petróleo */
  font-size: 2.8rem;
  margin-bottom: 20px;
  font-weight: 700;
}

.accent-line {
  height: 4px;
  background: linear-gradient(90deg, #f28b82, #f6c667);
  width: 100px;
  margin: 0 auto 30px;
  border-radius: 2px;
}


@keyframes fadeIn {
  to {
    opacity: 1;
  }
}

footer {
  background-color: #3e6157; /* Oscuro: Verde petróleo */
  color: #fff;
  padding: 20px;
  position: bottom;
  position: fixed;
  bottom: 0;   
  width: 100%;
}

.footer-content {
  display: flex;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
}

.contact-info p {
  margin: 5px 0;
  color: #dce7e4; /* Claro: Verde humo claro */
}

.social-media a {
  color: #eeeeee; /* Acento 2: Mostaza suave */
  margin-right: 15px;
  font-size: 1.5em;
  transition: color 0.3s ease, transform 0.3s ease;
}

.social-media a:hover {
  color: #f28b82; /* Acento 1: Coral suave */
  transform: scale(1.1);
}

/* Nuevo elemento decorativo */
.color-accent {
  height: 4px;
  background: linear-gradient(90deg, #f28b82, #f6c667);
  width: 100%;
  margin: 10px 0 20px;
}

@media (max-width: 768px) {
  .header-container {
    flex-direction: column;
    padding: 10px;
  }
  
  .logo {
    margin-bottom: 10px;
  }
  
  nav ul {
    flex-direction: column;
    width: 100%;
    align-items: center;
  }
  
  nav li {
    margin: 8px 0;
    width: 100%;
    text-align: center;
  }
  
  nav a {
    padding: 8px;
    background-color: rgba(220, 231, 228, 0.2); /* Fondo semi-transparente */
  }
  
  main {
    margin-top: 140px;
    padding: 15px;
  }
  
  .footer-content {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  
  .social-media {
    margin-top: 20px;
  }
  
  .social-media a {
    margin: 0 10px;
  }
}

.mensaje {
    padding: 10px 15px;
    border-radius: 8px;
    margin: 10px 0;
    font-size: 1rem;          /* tamaño relativo al viewport */
    text-align: center;
    max-width: 90%;           /* para que no se desborde en pantallas pequeñas */
    margin-left: auto;
    margin-right: auto;
}

.mensaje.error {
    color: #721c24;
}

.mensaje.info {
    color: #3e6157; /* Oscuro: Verde petróleo */
}

/* Responsivo específico si quieres aún más control en pantallas pequeñas */
@media (max-width: 600px) {
    .mensaje {
        font-size: 0.9rem;  /* ligeramente más pequeño en pantallas pequeñas */
        padding: 8px 12px;
    }
}
