/* Alejandro Barrionuevo Rosado */ 

/* Fuente */
@import url('https://fonts.googleapis.com/css2?family=Rubik&display=swap');

html {
  position: relative;
  min-height: 100%;
}

body {
  background-size: cover;
  background-color: #dfedfb;
  background-image: url('../resource/img/fondo.jpg');
  background-repeat: no-repeat;
  font-family: 'Rubik', sans-serif;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

header {
  /* background-color: #312F30; */
  background-color: rgba(49, 47, 48, 0.9);
  color: white;
  padding: 20px;
  text-align: center;
  font-weight: bold;
}

section {
  display: flex; /* Utiliza Flexbox para alinear elementos */
  flex-wrap: wrap; /* Permite que los elementos se envuelvan en líneas nuevas si no caben en una sola fila */
  gap: 20px; /* Espacio entre los elementos */
  justify-content: center; /* Centra horizontalmente los elementos en el contenedor */
  align-items: flex-start; /* Alinea los elementos al principio verticalmente */
  margin: 20px;
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.6);
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  flex-grow: 1; /* Permite que la sección crezca y ocupe el espacio disponible */
}

footer {
  /* background-color: #312F30; */
  background-color: rgba(49, 47, 48, 0.9);
  color: white;
  padding: 20px;
  text-align: center;
  font-size: large;
  font-weight: bold;
  flex-shrink: 0;
}

.footer-btn {
  margin-top: 10px;
}

.footer-btn:hover {
  background-color: #333;
}

.footer-container {
  display: flex;
  justify-content: center; /* Centra horizontalmente los elementos */
  align-items: center; /* Centra verticalmente los elementos */
}

.footer-container p {
  margin-bottom: 0; /* Elimina el margen inferior del párrafo */
}

.footer-container .github-logo {
  margin-left: 15px; /* Ajusta el espacio entre el nombre y el logo de GitHub */
}

#calculadora, #formula, #binario {
  width: 300px; /* Mantén el ancho fijo para la calculadora y la fórmula */
  max-width: 100%; /* Máximo ancho del contenedor */
  padding: 10px;
  border-radius: 10px;
  background-color: #ffffff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  margin-bottom: 20px; /* Espacio inferior */
}

.displays {
  width: calc(100% - 20px); /* Ancho igual al de la calculadora menos el padding */
  height: 50px; /* Altura óptima para el display */
  font-size: 1.5rem;
  text-align: right;
  border: 1px solid #ccc;
  border-radius: 5px;
  margin-bottom: 10px; /* Espacio inferior */
  padding: 10px;
  box-sizing: border-box; /* Incluir padding en el cálculo del ancho */
  display: block; /* Convertir en bloque para centrar */
  margin-left: auto; /* Centrar horizontalmente */
  margin-right: auto; /* Centrar horizontalmente */
}

#recuadroEntrada, #recuadroConversor {
  width: calc(100% - 20px); /* Ancho igual al de la calculadora menos el padding */
  height: 50px; /* Altura óptima para el display */
  font-size: 1.5rem;
  text-align: right;
  border: 1px solid #039af8;
  border-radius: 5px;
  margin-bottom: 10px; /* Espacio inferior */
  padding: 10px;
  box-sizing: border-box; /* Incluir padding en el cálculo del ancho */
  display: block; /* Convertir en bloque para centrar */
  margin-left: auto; /* Centrar horizontalmente */
  margin-right: auto; /* Centrar horizontalmente */
}

.buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.btn {
  width: 50px; /* Ancho de los botones en dispositivos grandes */
  height: 50px; /* Alto de los botones */
  font-size: 1.2rem;
  text-align: center;
  border: 1px solid #ccc;
  border-radius: 5px; /* Bordes redondeados */
  background-color: #ffffff;
  cursor: pointer;
  margin: 5px;
  transition: background-color 0.3s ease; /* Transición suave */
}

.btn:hover {
  background-color: #f5f5f5; /* Cambio de color al pasar el mouse */
}

/* Estilo para centrar label y select */
.input-group {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}

.input-group label {
  margin-right: 10px; /* Espacio entre el label y el select */
}

#baseEntrada, #baseSalida {
  flex-grow: 1;
  max-width: 150px; /* Ajusta el ancho del select según sea necesario */
}



@media (max-width: 768px) {
  .btn {
    width: 40px; /* Reducir tamaño de los botones en dispositivos medianos */
    height: 40px;
    font-size: 1rem;
  }
}

@media (max-width: 576px) {
  .btn {
    width: calc(25% - 10px); /* Ancho para 4 columnas en dispositivos pequeños */
    max-width: 50px; /* Máximo ancho de cada botón */
    margin: 5px;
  }
}