.vl-radio {
  &__label {
    font-weight: 300;

    &:hover::after {
      border-color: $vl-secondary-blue;
      box-shadow: inset 0 0 0 0.1rem $vl-secondary-blue;
    }
  }

  &__toggle {
    &:focus {
      + .vl-radio__label {
        &::after {
          border-color: $vl-secondary-blue;
          box-shadow: 0 0 0 0.2rem $vl-secondary-blue;
        }
      }
    }
  }

  &--block {
    display: block;
    margin: 0;
  }

  &--disabled {
    .vl-radio__toggle {
      &:checked {
        + .vl-radio__label {
          &::after {
            background: $vl-primary-blue;
            color: $vl-primary-blue;
            border: 0.1rem $vl-primary-blue solid;
          }
        }
      }
    }
  }

  // Radio error modifier
  &.invalid.validated,
  &--error {
    .vl-radio__label {
      &::after {
        border-color: $vl-error-color;
        background-color: transparent;
        box-shadow: inset 0 0 0 0.1rem $vl-error-color;
      }
    }

    .vl-radio__toggle:checked {
      & + .vl-radio__label {
        &::before {
          background-color: $vl-white;
        }

        &::after {
          border-color: $vl-error-color;
          background-color: $vl-error-color;
          box-shadow: inset 0 0 0 0.1rem $vl-error-color;
        }
      }
    }
  }
}
