#newsletter-form {
  display: flex;
  flex-direction: column;

  & .powered-by {
    display: flex;
    width: 100%;
    justify-content: end;
    font-size: 0.75em;

    & p {
      margin-bottom: 0;
    }
  }

  & label span.field__required {
    color: var(--brand);
    font-size: 0.75em;
  }

  & fieldset {
    padding: 1em;
    display: flex;
  }

  & fieldset.fieldset__email {
    gap: 1em;
    margin-bottom: 1em;
    flex-direction: column;
  }

  & fieldset.fieldset__extra {
    flex-direction: column;

    & label:last-of-type {
      margin-top: 1em;
    }

    & label {
      margin-bottom: 0.6em;
    }
  }

  & input[type="submit"] {
    margin: 1em 0em;
    background-color: var(--brand);
    color: var(--color-background-primary);
    border: none;
    padding: 0.5em 1em;
    border-radius: 5px;
  }

  & legend {
    background: var(--brand);
    color: var(--color-background-primary);
    padding: 0.5em 1em;
    border-radius: 5px;
  }

  & input,
  textarea {
    padding: 0.5em 1em;
  }

  & input:user-invalid,
  textarea:user-invalid {
    border-color: red;
  }

  & input:user-valid,
  textarea:user-valid {
    border-color: green;
  }
}
