.factura-form {

  margin: 0 auto 50px;

  & div {
    height:auto;
  }

  & .hidden {
    display: none;
  }

  & .form-group {
    margin-bottom: 1rem;
  }

  & .validation-message {
    color: #EEE;
    margin: 0.5rem 0;
    padding-left: 24px;
    position: relative;
    line-height: 20px;
  }

  & .validation-message::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }

  & .reviewing::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M12 2v4M12 18v4M4.93 4.93l2.83 2.83M16.24 16.24l2.83 2.83M2 12h4M18 12h4M4.93 19.07l2.83-2.83M16.24 7.76l2.83-2.83'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='1s' repeatCount='indefinite' /%3E%3C/path%3E%3C/svg%3E");
  }

  & .reviewed::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234CAF50' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
  }

  & .error-message {
    color: #dc3545;
    font-size: 0.875rem;
    display: none;
  }

  & .legal-text {
    font-size: 0.875rem;
    color: #666;
    margin: 1rem 0;
  }

  & #validationFinished, & #validationSent{
    margin-top: 1rem;
    padding: 1rem;
    background-color: #e8f5e9;
    border-radius: 4px;
    color: #2e7d32;
    animation: fadeIn 0.8s ease;
    opacity: 0;
    animation-fill-mode: forwards;

  }
 
  & button, input[type="file"] {
    margin:10px 0;
    padding:6px 12px;
    background-color: var(--color-b);
    color: var(--color-f);
    border:none;
    border-radius: 10px;
  }

  & button {
    background-color: var(--color-c);
    padding:10px 16px;
    font-size: var(--font-md);

    &:hover{
      filter: brightness(1.25);
    }
  }

  & input[type="text"], & input[type="email"] {
    display: block;
    width: 100%;
    padding: 10px;
    font-size: 1rem;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
  }

}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}