/* Modal overlay and background blur adapted from
   https://stackoverflow.com/questions/61353311/adding-background-blur-via-css-behind-pop-up-modal */
.modal_overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(4px);
}

.modal_overlay.hidden {
  display: none;
}

/* Add-image form */
.image_form {
  display: flex;
  flex-direction: column;
  width: 90%;
  max-width: 460px;
  padding: 20px;
  background: #2b2c2e;
  border: 2px solid #3c3d3f;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
  animation-name: formPop;
  animation-duration: 0.25s;
  animation-timing-function: ease;
}

/* Keyframe animation adapted from
   https://www.w3schools.com/css/css3_animations.asp */
@keyframes formPop {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.form_title {
  margin: -20px -20px 20px;
  padding: 12px 20px;
  background: #3c3d3f;
  border-radius: 10px 10px 0 0;
  color: rgb(240, 130, 222);
  font-size: 20px;
  font-weight: bold;
}

#signup.image_form {
  margin: 40px auto;
}

.form_element {
  margin-bottom: 12px;
  padding: 10px 14px;
  background: #1e1f21;
  color: #ffffff;
  border: 1px solid #4a4b4d;
  border-radius: 8px;
  font-size: 16px;
  outline: none;
  transition: border-color 0.2s ease;
}

.form_element:focus {
  border-color: rgb(240, 130, 222);
}

.form_actions {
  display: flex;
  gap: 10px;
  margin-top: 8px;
}

.form_actions .btn {
  flex: 1;
}
