.vat-validation-icon {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  display: inline-block;
  border-radius: 50%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}

.woocommerce-input-wrapper {
  position: relative;
}

.woocommerce-input-wrapper input {
  padding-right: 30px;
}

.vat-validation-icon.loading {
  border: 2px solid rgba(0, 0, 0, 0.1);
  border-top: 2px solid #2271b1;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  background: #ffffff;
  animation: vat-spin 900ms linear infinite;
}

.vat-validation-icon.success {
  background-color: #34a853;
}

.vat-validation-icon.error {
  background-color: #d93025;
}

.vat-validation-icon.success:after,
.vat-validation-icon.error:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  display: block;
}

.vat-validation-icon.success:after {
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24"><path fill="white" d="M9.000 16.200 L5.800 13.000 L4.400 14.400 L9.000 19.000 L20.000 8.000 L18.600 6.600 Z"/></svg>')
    no-repeat center center;
}

.vat-validation-icon.error:after {
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24"><path fill="white" d="M6.343 7.757L7.757 6.343 12 10.586 16.243 6.343 17.657 7.757 13.414 12 17.657 16.243 16.243 17.657 12 13.414 7.757 17.657 6.343 16.243 10.586 12z"/></svg>')
    no-repeat center center;
}

@keyframes vat-spin {
  0% {
    transform: translateY(-50%) rotate(0deg);
  }
  100% {
    transform: translateY(-50%) rotate(360deg);
  }
}
