#kolari-photo-manager-upload-form {
  position: relative;
  padding: 0;
}

#kolari-photo-manager-upload-form a {
  color: #2075D3;
}
#kolari-photo-manager-upload-form a:hover {
  text-decoration: underline;
}

#kolari-photo-manager-upload-form label,
#kolari-photo-manager-upload-form input#image,
#kolari-photo-manager-upload-form small,
#kolari-photo-manager-upload-form p {
  display: block;
  width: 100%;
}

#kolari-photo-manager-upload-form label {
  color: black;
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: 0.72px;
}

#kolari-photo-manager-upload-form small,
#kolari-photo-manager-upload-form p {
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  line-height: normal;
  margin: 0;
}

#kolari-photo-manager-upload-form input[type="text"],
#kolari-photo-manager-upload-form input[type="email"],
#kolari-photo-manager-upload-form select {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.72px;
  line-height: normal;
  height: 48px;
  color: black;
  border: 1px solid #e3e3e3;
  border-radius: 0;
  background-color: white;
  padding: 0 16px
}

/* Image input specific */
#kolari-photo-manager-upload-form input#image {
  padding: 9px 16px;
  border: 1px solid transparent;
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: 0.72px;
  cursor: pointer;
  border: 1px solid #e3e3e3;
  background: white;
}

/* Select dropdown styling */
#kolari-photo-manager-upload-form select:required:invalid {
  color: gray !important;
}
#kolari-photo-manager-upload-form option[value=""][disabled] {
  display: none !important;
}
#kolari-photo-manager-upload-form option {
  color: black !important;
}

/* Submit button */
#kolari-photo-manager-upload-form #kolari-photo-manager-submit-button {
  width: 100%;
  padding: 1rem;
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.72px;
  color: white;
  background-color: #2075D3;
  border: 1px solid #2075D3;
}
#kolari-photo-manager-upload-form #kolari-photo-manager-submit-button:hover {
  color: #2075D3;
  background-color: white;
}
#kolari-photo-manager-upload-form #kolari-photo-manager-submit-button:disabled {
  color: #aaa;
  background-color: #f0f0f0;
  border: 1px solid #ccc;
  cursor: not-allowed;
  opacity: 0.7;
}

/* Form layout */
#kolari-photo-manager-upload-form .form-row {
  padding-bottom: 1rem;
}
#kolari-photo-manager-upload-form .form-row.recaptcha {
  min-height: 112px;
}
#kolari-photo-manager-upload-form .form-row.form-row-terms {
  padding-bottom: 0;
}
#kolari-photo-manager-upload-form .tooltip {
  color: gray;
  font-style: italic;
}

/* Error styling */
#kolari-photo-manager-upload-form .is-invalid {
  border-color: #b81111 !important;
  background-color: #ffdada !important;
}
#kolari-photo-manager-upload-form .error-message {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 12px;
  color: #b81111 !important;
}
#kolari-photo-manager-upload-form input.is-invalid:-webkit-autofill {
  box-shadow: 0 0 0 1000px #ffdada inset !important;
  border: 1px solid #b81111 !important;
  -webkit-text-fill-color: #000 !important;
  transition: background-color 9999s ease-out 0s;
}

/* Success styling */
#kolari-photo-manager-upload-form .just-validate-success-field {
  border-color: #239e60 !important;
  background-color: #daffdf !important;
}
#kolari-photo-manager-upload-form input.just-validate-success-field:-webkit-autofill {
  box-shadow: 0 0 0 1000px #daffdf inset !important;
  border: 1px solid #239e60 !important;
  -webkit-text-fill-color: #000 !important;
  transition: background-color 9999s ease-out 0s;
}

/* Autofill general */
input:-webkit-autofill,
input:-webkit-autofill:focus,
input:-webkit-autofill:hover,
input:-webkit-autofill:active {
  transition: background-color 9999s ease-out 0s;
  -webkit-text-fill-color: #000 !important;
  box-shadow: 0 0 0 1000px white inset !important;
}

/* Overlay and Spinner */
#kolari-photo-manager-upload-form .kpm-form-overlay {
  display: none;
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.6);
}
#kolari-photo-manager-upload-form .kpm-spinner-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#kolari-photo-manager-upload-form .kpm-spinner {
  width: 30px;
  height: 30px;
  border: 4px solid #ccc;
  border-top: 4px solid #2075D3;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}


/* End of default form styling */
/* Custom styles for specific forms can be added here */
