* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-family: sans-serif;
}

.illustration img {
  max-height: 500px;
  width: auto;
}

.wrapper {
  display: flex;
  justify-content: flex-end; /* Move content towards the right */
  align-items: center; /* Center content vertically */
  height: 100vh;
  margin-left: 30%;
  padding: 2rem;
}



.form {
  padding: 2rem;
  display: flex;
  flex-direction: column; /* Stack form elements vertically */
  align-items: center; /* Center form elements horizontally */
  justify-content: center; /* Vertically center the form */
  background-color: #fff;
  border-radius: 8px; /* Rounded corners for the form */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Add subtle shadow to form */
  width: 100%;
  max-width: 400px; /* Restrict the form width for better appearance */
}

.form .heading {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 1.5rem; /* Spacing between heading and form */
}

.or {
  margin-top: 1em;
  text-align: center;
  font-weight: bold;
  color: #666;
}

.form label {
  display: block;
  margin: 1.25rem 0 1rem 0;
  font-size: 0.95rem;
  color: #333;
}

.form input {
  height: 40px;
  width: 100%;
  max-width: 350px; /* Slightly larger max-width */
  padding: 15px;
  background-color: #f1f9ff;
  border: 2px solid #bce0fd;
  border-radius: 8px;
  box-sizing: border-box;
  font-size: 1rem; /* Make input text a bit larger */
}

.form button {
  height: 40px;
  width: 100%;
  max-width: 350px;
  margin-top: 1.5rem;
  background-color: #258de6;
  color: white;
  text-transform: uppercase;
  letter-spacing: 1px;
  border: none;
  font-weight: bold;
  border-radius: 8px;
  font-size: 1rem; /* Increase font size for better readability */
}

.socialButtons {
  display: flex;
  flex-direction: column; /* Stack social buttons vertically */
  align-items: center; /* Center them horizontally */
}

.socialButton {
  display: inline-flex; /* Align text and image inline */
  align-items: center; /* Vertically center content */
  justify-content: flex-start; /* Align items to the left */
  padding: 10px 15px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 0.8rem;
  font-weight: bold;
  transition: background-color 0.2s, transform 0.2s;
  width: 100%;
  max-width: 350px; /* Limit max width */
}

.socialButton img {
  width: 20px;
  height: 20px;
  margin-right: 10px;
  vertical-align: middle;
}

.socialButton:hover {
  filter: brightness(95%);
}

.socialButton:active {
  transform: scale(0.98);
}

.socialButton:nth-child(2) {
  background-color: #333; /* GitHub button */
  color: white;
}

.socialButton:nth-child(1) {
  background-color: #ffffff; /* Google button */
  color: #000000;
  box-shadow: 1px 2px #2f2525;
}

@media (min-width: 542px) {
  body {
    display: flex;
    justify-content: center;
  }

  .wrapper {
    display: flex;
    height: 100vh;
    align-items: center;
    justify-content: flex-end; /* Keep the form to the right */
    padding: 2rem;
    max-width: 1100px;
  }

  .form {
    flex-basis: auto;
    align-items: center; /* Center form in larger screens */
    width: 100%;
    max-width: 400px; /* Keep form max width consistent */
  }

  .form input {
    width: 100%; /* Ensures the input expands fully */
    max-width: 350px;
  }

  .illustration{
    margin-right: 40%;
  }

  .illustration img {
    max-width: 100%;
    height: auto;
  }
}

@media (max-width: 680px) {
  .wrapper {
    flex-direction: column; /* Stack form and illustration vertically */
    align-items: center; /* Center content horizontally */
    padding: 1rem;
  }

  .illustration {
    display: none; /* Hide the illustration on mobile */
  }

  .form {
    width: 100%; /* Full width for mobile */
    align-items: center; /* Center form elements horizontally */
  }

  .form input,
  .form button,
  .socialButton {
    width: 100%; /* Full width for mobile */
    max-width: 300px; /* Optional: Limit max width */
  }
}

button:hover {
  filter: brightness(95%);
}

button:active {
  transform: scale(0.98);
}

.error {
  color: red;
  font-size: 0.9rem;
  margin-top: 0.5rem;
}
